答案在这个问题仅当可以在活动的 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数据库,然后以越来越严重的级别杀死旧的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