コマンドラインから13.04 Gnome Shellログイン画面のロックを解除することはできますか?ユーザーがGnome Shellにログインしています。このユーザーとしてコンソールにログインできます。また、ルートアクセス権もあります。
これは、パスワードを入力せずに、VNCを介してアクティブなX11ディスプレイにアクセスするためのものです。
実行中
gnome-screensaver-command -d
ブログ投稿 で示唆されているように、助けにはなりませんでした。
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
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
次は私のために働いた:
Sudo killall gnome-screensaver
別のユーザーでSSH経由でログインしている場合に特に役立ちます。
ロック解除画面が時々キーボード入力を受け入れないという同様の問題がありました。最終的に解決したのは、実行中だった複数gnome-screensaver
プロセスと、1つのgnome-screensaver-dialog
プロセスを強制終了することでした。私は、2つのgnome-screensaverセッションを生成するプロセスが、ロック解除画面を台無しにしていたと推測しています。私は実際に代わりにxscreensaverを使用することになっているので、多分それは台無しになります。
とにかく、Ctrl+Alt+F1
、ps -aux | grep screen
を実行しているスクリーンセーバープロセスを探し、それらをすべて強制終了します。他の回答にリストされているgnomeおよびxscreensaverコマンドは、私にとってはうまくいきませんでした。
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に強制的にログアウトさせることなく、デスクトップアプリに戻ることができました。