web-dev-qa-db-ja.com

コマンドラインを使用してログイン画面のロックを解除します

コマンドラインから13.04 Gnome Shellログイン画面のロックを解除することはできますか?ユーザーがGnome Shellにログインしています。このユーザーとしてコンソールにログインできます。また、ルートアクセス権もあります。

これは、パスワードを入力せずに、VNCを介してアクティブなX11ディスプレイにアクセスするためのものです。

実行中

gnome-screensaver-command -d

ブログ投稿 で示唆されているように、助けにはなりませんでした。

login screen

27
krlmlr

systemd(Ubuntu 16.04以降など)を備えた最新のLinuxシステムがあると仮定しています。

独自のセッションのロックを解除するが必要な場合は、loginctl unlock-sessionを実行します(独自のセッションなのでルートは不要です)。複数のセッションがあり、1つだけを選択する場合は、loginctl list-sessionsを実行してセッションを識別し、次に実行します。 loginctl unlock-session c187

すべてのセッションのロック解除が必要な場合は、Sudo loginctl unlock-sessionsを実行してください。どのユーザーがスクリーンセーバーを実行していても、これによりすべてのセッションが直ちにロック解除されることに注意してください。


正しいセッションを識別するためにさらに情報が必要な場合は、次のようなものを試すことができます。

loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done
30

SSHセッションからgnome-screensaver-commandなどのコマンドを実行する際の問題は、通常、アクティブなデスクトップセッションの適切なセッションバスに自動的に接続しないことです。通常、DISPLAY変数を設定すると、たとえばme(DISPLAY:0にあるロックされたXセッションを所有しているのと同じユーザーとしてSSH経由でログインします):

$ DISPLAY=:0 gnome-screensaver-command -d

ロックを解除する

$ DISPLAY=:0 gnome-screensaver-command -l

ロックする。

または、dbus-sendを使用してアクティブ状態を切り替えることができます-たとえば

$ export DISPLAY=:0
$ dbus-send --session \
          --dest=org.gnome.ScreenSaver \
          --type=method_call \
          --print-reply \
          --reply-timeout=20000 \
          /org/gnome/ScreenSaver \
          org.gnome.ScreenSaver.SetActive \
          boolean:false

ソース: https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples

15
steeldriver

次は私のために働いた:

Sudo killall gnome-screensaver

別のユーザーでSSH経由でログインしている場合に特に役立ちます。

5
rosch

ロック解除画面が時々キーボード入力を受け入れないという同様の問題がありました。最終的に解決したのは、実行中だった複数gnome-screensaverプロセスと、1つのgnome-screensaver-dialogプロセスを強制終了することでした。私は、2つのgnome-screensaverセッションを生成するプロセスが、ロック解除画面を台無しにしていたと推測しています。私は実際に代わりにxscreensaverを使用することになっているので、多分それは台無しになります。

とにかく、Ctrl+Alt+F1ps -aux | grep screenを実行しているスクリーンセーバープロセスを探し、それらをすべて強制終了します。他の回答にリストされているgnomeおよびxscreensaverコマンドは、私にとってはうまくいきませんでした。

1
Scott

Gnome 3の画面ロック(スクリーンセーバー)が空白の画面で止まる問題がありました。私はreplaceing gnome-Shellウィンドウマネージャーでそれを回避することができました。

Ctrl + Alt + F1で仮想コンソールにログインしてから、次の操作を行います。

pkill -QUIT gnome-Shell
DISPLAY=:0.0 gnome-Shell -r &

&新しいgnome-Shellをバックグラウンド化して、仮想コンソールからログアウトして実行し続けることができます。または、Ctrl + Zを使用してgnome-Shellプロセスを中断し、bgをバックグラウンド化します。)

エレガントではないかもしれませんが、最終的にはgnomeに強制的にログアウトさせることなく、デスクトップアプリに戻ることができました。

1
Ted Percival