これがクラッシュするたびにgnome-Shellを再起動するキーボードショートカットを実装したいと思います( 一部のバグ は現在まだ修正されていません)。そのためには、シェルを再起動するコマンドラインが必要です。
の Alt+F2 およびrestart
コマンドは、プロンプトがシェルに実装されているためシェルがクラッシュしたときに機能しません。
したがって、コマンドラインからgnome-Shellを再起動するにはどうすればよいですか?
Gnome-Shellを置き換えるコマンドはgnome-Shell --replace
です。
gnome-Shell
のマニュアルページから:
--replace Replace the running window manager
最も簡単な方法は Alt+F2 r
と入力してから ↵。
killall -3 gnome-Shell
を実行することもできます。
コマンドはgnome-Shell --replace
である必要があります。
gnome-Shell
全体がフリーズした場合、Xウィンドウ全体を再起動せずにターミナルから再起動する方法があります。
DISPLAY=:0 gnome-Shell -r &
exit
およびユーザーをログアウトするためにこの機能を思いつきました(下部を参照)
想定しています
複数のユーザー名を付けることができます:
logout john jane mike elisa
そして、追加のオプションを与えることができます:
logout john --force
だから、私は次のヘルパー関数を持っています:
function forcelogout() {
logout "$@" --no-Prompt --force
}
ノート:
function logout() {
local USERNAME
export USERNAMES=( )
while [ -n "$1" ]; do case "$1" in
-* ) break ;;
*) USERNAMES+=( "$1" ); shift ;;
esac; done
for USERNAME in "${USERNAMES[@]}"; do
local SESSION_PID=$(pgrep -fu "$USERNAME" gnome-session|head -1)
if [ -n "$SESSION_PID" ]; then
(
Sudo -u "$USERNAME" cat "/proc/$SESSION_PID/environ" | xargs -0 -n 1 echo export
echo "gnome-session-quit --logout $@"
) | Sudo -u "$USERNAME" sh -;
fi
done
}
エイリアスを定義しました:alias gnomeshellrestart='echo "gnome-Shell --replace -d" $(w| grep "$USER"| awk "{print \$3}"|grep ":"|head -1)| at now'
バックグラウンドでマウスを右クリックしてそこに入力することで端末を起動できる場合があります(alt-tabはdysfctでもあります)。そうでない場合は、たとえばでttyにログインします。 ctrl-alt-F2から実行します。