Ubuntu 14.04では、ログイン画面に似た 新しいロック画面 が導入されています。
私はまだコマンドgnome-screensaver-command --lock
を使用して画面をロックできます(以前と同じように)。これは14.04で画面をロックしますが、
xdg-screensaver lock
を使用してみましたが、gnome-screensaver-command --lock
と同じように機能します(デスクトップから実行されたときにのみ新しいロック画面を使用します)。
light-locker-command --lock
がインストールされていないため、light-locker
の実行は機能しませんでした。
デスクトップから同じコマンドを実行することと、SSH /仮想コンソールを介して実行することにはいくつかの違いがあるはずですが、環境変数の違いを見つけることができませんでした。
だから、私の質問は:コマンドラインから古いロック画面ではなく、新しいUnityロック画面を使用して画面をロックするにはどうすればよいですか?
この質問 は、使用する必要がある新しいコマンドを要求するため、おそらく関連しているので、別の質問があります:同じロックコマンドを実行すると異なる結果が得られるのはなぜですか?
このバグレポート によると、gnome-screensaver
は14.04ではもう使用されていないことに注意してください。
これは実際にはgnome-screensaverのバグではなく、そのコンポーネントは信頼できる状態で使用されなくなりました。
gnome-screensaver
がインストールされていません。動作するコマンドは次のとおりです。
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
ロックスクリーンは団結パネルに関連するが、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
はtty1から見た/usr/lib/unity/unity-panel-service --lock-mode
に変わります。
私は最近、xdg-screensaver lock
も同様に機能し、非常に簡単なソリューションであることがわかりました!
キーストロークはいつでも送信できます:xdotool key super+l
。