質問
GNOMEターミナルで実行されているプログラムがありますが、スクリーンセーバーが作動しているので、パスワードを取り戻すことはできません。修正を待っている間 GNOME-SCREENSAVERバグ, 、GNOME端末と対話することができずに、仮想コンソール(CTRL-ALT-F1)で出力(またはプロセスを引き継ぐ)を見る方法はありますか?
明確化:元の問題はスクリーンセーバーでしたが、私が答えたい質問は、ファイルにログすることなくプロセスを開始した後、別の端末で実行されているプロセスからの出力をどのように確認するかです。別のシェルからプロセスの出力デバイスを設定できるはずだと思いますか?または、プロセスを別のシェルにバックグラウンドモードに入れて、現在のシェルの前景に入れることは可能ですか?または、GNOME端末に出力をリダイレクトまたはコピーするように依頼しますか?
解決
私は過去に仮想コンソールからスクリーンセーバーを殺し、Xセッションのロックを解除しました。
# Get the pid (xscreensaver, gnome-screensaver, etc.)
ps -f -u $(whoami) | grep screensaver
kill -9 12345 # Replace 12345 with the real pid
編集: これは考えられているようであり、使用するスクリーンセーバープログラムに応じて、これらのコマンドのいずれかを使用する必要があります。
xscreensaver-command -exit
gnome-screensaver-comand --exit
詳細については、それらのコマンドについてはManページを参照してください。
他のヒント
通常の方法は、出力をファイルにパイプすることです。 program > program.log
行う tail -f program.log
GNOMEコンソールの別のタブで、および非Xコンソールでも同じです。
または、使用してください tee
同じコンソールで出力を複製するには: program | tee program.log
ボックスにssh。スクリーンセーバーを殺します。それが本当に行動しているなら、ルートになり、-9を殺すことができます。
通常、GNOME末端は、 /devの1つのvtyの出力を表示します。そのため、コンソールをそのvtyに接続してください。
でプログラムを開始します screen
.
別の端末を開き、起動します screen -x
そして、あなたは2つの端子が1つのように振る舞うことを持っています。試してみてください、それは楽しいです:)