正解はこの問題アクティブなKDEセッションでコマンドを入力できる場合にのみ機能します。別のttyでは、kstartがディスプレイを開くことができないと文句を言います。
tty2でKDEを再起動するには? kstartはモニタをどのように見つけますか?DISPLAY
環境変数などを設定できますか?
答え1
このコマンドを使用して、GUIセッションが実行されているモニターを見つけることができますwho
。
他のローカルセッションからの出力をモニターに送信するには、コマンドの前にモニター番号を付けDISPLAY=:n
ますn
。
export DISPLAY=:n
複数のコマンドをディスプレイに送信する必要がある場合は、セッション環境変数を設定することもできます。
答え2
KDEがtty1で実行されている場合は、最も可能性が高いです:0
。つまり、実行されるコマンドは次のようになります。
DISPLAY=:0 plasmashell
FWIW、私はプラズマシェルをかなり頻繁に再起動するので、次のスクリプトを書いています。これは Plasmashell データベースを再構築し、次第に深刻なレベルで古い Plasmashell インスタンスをシャットダウンします。
kbuildsycoca5
timeout 5 kquitapp5 plasmashell
pgrep -U $USER -x plasmashell &>/dev/null && pkill -U $USER -x plasmashell
pgrep -U $USER -x plasmashell &>/dev/null && pkill -U $USER -x -9 plasmashell
pgrep -U $USER -x plasmashell &>/dev/null && echo "ERROR: cannot kill plasmashell"
plasmashell &
他のttyで使用するように調整するには、それを定義せずに古いPlasshellを終了すると、DISPLAY
変数が必要な新しいインスタンスが起動します。
答え3
Plasmaを実行しているプロセスを終了すると、ログイン画面が再起動します。 Plasshell バージョン 5.26.2 の例:
killall startplasma-x11