だから、私は自分のマシン用のUSBキーを作成しようとしています。
インターネット上の多くの場所で説明されているように、PAM-Usbを使用しました(たとえば this one 。これは基本的にどこにでもコピーペーストされます)。私はそこで何が起こるかを理解しており、それはかなりきちんとしている。
私の問題は、(ボタンを使って、USBをオフにするか、gnome-screensaver-command -l
で)画面をロックすると、gnome-screensaver-command -d
がデスクトップに戻らず、モニターを目覚めさせます。私はまだパスワードを提供する必要があります-そして、私はUSBスティックを差し込むときにそれを望んでいません。
ロック解除時にパスワードプロンプトをオフにしたくありません。 USBスティックが差し込まれているときはいつでもコンピューターに自由にアクセスできるようにし、他の場合はパスワードでアクセスできるようにします。
だから、質問は次のとおりです:コマンドラインでgnome-screensaverのロックを解除するにはどうすればよいですか?
PS。おもしろいこと:USBキーを使用する場合、ログイン時にパスワードを入力する必要はありません。一方、ロック解除にはパスワードが必要です。なぜ起こるのかは理解していますが、それでも奇妙に見えます。
==編集==
私は忘れていました:私は(ユニティベースを意味する)プレーンなUbuntu 15.04を使用しています。スクリーンセーバー関連の変更は行われませんでした。
Ubuntu 14.04+はgnome-screensaverを使用しなくなったため、gnome-screensaver-command -d
が機能しない可能性があります(おそらく、確信はありませんが、Ubuntuは古いgnome-screensaverを新しいものに置き換え、そのコマンドは現在動作しません) 。 dbusを使用してコンピューターをロックおよびロック解除できます。
ロック:
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
ロック解除:
dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false
パスワードを要求せずにロックを解除する必要があります。
15.04では、ロック画面は単一で実装されます。
Libpam_usbは、それを使用するプログラムにすでにlibpamがロードされていることを(誤って)予期しているため、libpamと明示的にリンクされていないようです。これはほとんどのプログラム(つまり、sudo、lightdmなど)に当てはまりますが、compizには当てはまりません。 libpam-usbのmakefileの変更とそれを修正するには再コンパイルが必要です。
回避策として、/usr/share/applications/compiz.desktop
を編集して置き換えることができますが
Exec=compiz
と
Exec=/bin/sh -c "LD_PRELOAD=libpam.so compiz"