重新启动`lxpanel`会影响从`lxpanel`调用来运行其他程序的进程吗?

重新启动`lxpanel`会影响从`lxpanel`调用来运行其他程序的进程吗?

lxpanel在LXDE中,我们可以在其中调用其他程序,这是否正确?

如何lxpanel使用命令行重新启动?

重新启动是否会lxpanel影响(例如杀死或发送一些信号)调用以lxpanel运行其他程序的进程?哪些流程会受到影响,哪些不会?

虽然我的问题是特定于 LXDE 的,但我怀疑它也适用于其他桌面环境,假设它们共享有关“面板”的类似设计。

谢谢。

答案1

  1. 是的,可以使用 LXPanel 调用其他程序。 LXPanel 是可配置的,但通常包括一个任务栏, A开始菜单(叫做主菜单Alt在 LXPanel 中),以及通常使用+调用的类似终端的“运行”对话框F2
  2. 要重新启动 LXPanel,您需要知道 LXPanel 配置文件的名称。Lubuntu如果您运行的是 Lubuntu,则可能是,LXDE否则,因为这些是默认值,并且大多数人不会重命名这些默认配置文件名称。您通常可以使用以下命令获取可用配置文件的列表:

    find ~/.config/lxpanel -maxdepth 1 -mindepth 1 -type d -print0 | xargs -0 basename --multiple
    

    获得配置文件名称后,请在终端中输入以下内容,并将 $LXPANEL_PROFILE 替换为您的配置文件名称:

    killall lxpanel
    nohup lxpanel -p $LXPANEL_PROFILE &
    

    nohup部分确保 lxpanel 不会当终端窗口关闭时退出

  3. 终止或重新启动 lxpanel 对通过菜单或“运行”对话框启动的其他程序没有影响。程序继续正常运行,并且通过Alt+进行任务切换Tab工作正常。

答案2

您可以使用lxpanelctl它来重新启动现有的 LXPanel。如果 LXPanel 正在运行,您可以从Alt+F2提示符或终端运行命令:

lxpanelctl restart

如果 LXPanel 未运行,此命令将不起作用,但如果您希望 LXPanel 重新加载配置,则此命令很有用。重启不会影响从LXPanel启动的程序。例如,如果从 LXPanel 菜单启动 LXTerminal 并运行上述命令,LXTerminal 将不会终止。但 LXPanel 小部件将被重新加载。例如,“CPU 使用情况监视器”小部件将重新启动。

答案3

我还没有用 LXDE 尝试过,但理论上,它不应该终止这些进程,除非:

A。它是一个会话领导者,这不太可能。 b.它自愿决定杀死他们。 C。由于 lxpanel(或其他启动器)终止,某些其他进程也会终止它们。

我不认为 lxpanel 属于这种情况。在一些更单一的环境中(例如,Gnome Shell),一些类似的操作可能会导致整个 shell 以及所有应用程序的终止。

相关回答:https://unix.stackexchange.com/a/158736/58388

答案4

lxpanel可以用作启动其他应用程序的地方,是的。例如,在我的 Debian LXDE 系统上,我有一个带有应用程序栏的顶部面板。该应用程序栏上有许多应用程序快捷方式。单击快捷方式启动该应用程序。

所以我有一个启动 Quartus 的捷径。当它运行时...

% pstree -p -s 29439
systemd(1)---lightdm(915)---lightdm(2002)---lxsession(2027)---lxpanel(2103)---q+

% ps -p 29439 -o 'pid,pgid,ppid,cmd'
  PID  PGID  PPID CMD
29439  2027  2103 quartus

请注意,进程组领导者是lxsession

我们杀吧lxpanel...

% kill 2103

% pstree -p -s 29439
systemd(1)---quartus(29439)---{quartus}(29468)

% ps -p 29439 -o 'pid,pgid,ppid,cmd'
  PID  PGID  PPID CMD
29439  2027     1 quartus

这看起来像是传统的重新养育。

我们可以重新启动它

% lxpanel --profile LXDE

请注意,这就是事情开始变得烦人的地方。这是一个前台进程,因此您在关闭终端时会遇到问题。它也不总是(根据我的经验)显示完全相同的内容。所以我尽量不杀掉它lxpanel,只是重新启动它,如果有必要的话,用lxpanelctl --restart

相关内容