コマンドラインから新しいロック画面を使用して画面をロックするにはどうすればよいですか?


19

Ubuntu 14.04では、ログイン画面に似た新しいロック画面が導入されています。

新しいロック画面

コマンドを使用して画面をロックすることはできますgnome-screensaver-command --lock(以前と同じように)。これは14.04で画面をロックしますが、

  • デスクトップから実行している場合、新しいロック画面を使用して画面をロックします。
  • 仮想コンソールまたはSSH経由で実行している場合、古いロック画面を使用して画面をロックします。

私もを使用してみましたxdg-screensaver lockが、同じように機能gnome-screensaver-command --lockします(デスクトップから実行した場合にのみ新しいロック画面を使用します)。

インストールされlight-locker-command --lockていないため、実行は機能しませんでしたlight-locker

デスクトップから同じコマンドを実行することと、SSH /仮想コンソールを介して実行することにはいくつかの違いがあるはずだと思いますが、環境変数に違いを見つけることができませんでした。

だから、私の質問は次のとおりです。コマンドラインから古いロック画面ではなく、新しいUnityロック画面を使用して画面をロックするにどうすればよいですか。

この質問は、使用する必要がある新しいコマンドを要求するため、おそらく関連しているので、別の質問があります。同じロックコマンドを実行すると異なる結果が得られるのはなぜですか。

このバグレポートにgnome-screensaverよると、14.04ではもう使用されていないことに注意してください。

これは実際にはgnome-screensaverのバグではありません。そのコンポーネントは信頼されて使用されなくなりました。


2
私も知りたいです。を使用dm-tool lockすると、画面がロックされますが、デフォルトのUnityロック画面とは異なり、ユーザーを切り替えることもできます。
相原14年

2
dm-tool lockそしてdm-tool switch-to-greeter、同じことをしているように見えます:ロック画面に非常に似ているログイン画面(挨拶)に戻ります。
レオラム14

回答:


14

私はgnome-screensaverインストールしていません、そして私が見つけることができる唯一のコマンドはこれです:

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock


5
qdbus org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
アクエリアスパワー14

これは以前は機能していましたが、15.10ではもう機能していないようです:/
LéoLam

@LéoLamlivecdイメージを使用していますか?私はまだ14.04を使用していますが、15.10でコマンドとAquarius Powerの両方をテストし、機能させました。ただし、このコマンドを使用してロック画面を機能させるには、ロック画面を有効にする必要がありましたgsettings set org.gnome.desktop.lockdown disable-lock-screen false
相原

いいえ、実際のUbuntuインストールにあります。gsettings get org.gnome.desktop.lockdown disable-lock-screenを返しますfalse。dbus-sendを実行すると、出力はまったくありません。これを機能させるには、おそらくgnome-screensaverが必要ですか?
レオラム

1
おそらく、15.10を使用して断念した、私の答えをしてくださいを参照してください。org.gnome.ScreenSaverそれはユニティのdbusのインターフェイスと通信するために、おそらく良いアイデアですので、dbusのインターフェイスを
Sergiy Kolodyazhnyy

3

受け入れられた答えには正しい考えがありますが、ロック画面はユニティパネルに関連しているのに対して、 org.gnome.ScreenSaver明らかにGnome関連のスキーマであるため、機能する場合と機能しない場合があります。

ただし、Unity用のdbusインターフェイスが存在し、必要なのはこのメソッドを次のcom.canonical.Unity.Session.Lockように呼び出すことだけです

qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.Lock

サイドノート

ユニティパネルに関連しているという証拠は簡単です。画面をロックすると、プロセス/usr/lib/unity/unity-panel-service/usr/lib/unity/unity-panel-service --lock-modetty1から観察されるように変更されます。


これはグラフィカルセッションでは機能しますが、$ DISPLAYを手動で設定してもSSHセッションでは失敗します。「サービス 'com.canonical.Unity'は存在しません。」
レオラム

これはDISPLAYvariable とは関係ありませんが、dbus とは関係ありません。over ssh Unityにdbusセッションがないかどうかはわかりませんので、その部分でお手伝いすることはできません。私は周りに尋ねますが、これまでのところ私が言うことができる限りです。
セルギーコロディアズニー16

dbus-launch --exit-with-session gnome-terminalその前に実行してみてください。 serverfault.com/a/411326
Sergiy Kolodyazhnyy

X内で実行されているscreen / tmuxセッションに接続し、そこからコマンドを実行することもできます。vtermから適切なdbusセッションに接続する最後の回避策でした。
-Iiridayn

2

私は最近、それがxdg-screensaver lock うまく機能し、非常に簡単な解決策でもあることがわかりました !


OPには、すべての場合に機能するとは限らないことが記載されています。GUIからターミナルでローカルに実行している場合のみ。
レオラム

18.04 LTSマシンへのSSHセッションでリモートで作業しました。
ベンジャミンR

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.