使用 fvwm 窗口管理器在 X 会话中使用 tcsh .login

使用 fvwm 窗口管理器在 X 会话中使用 tcsh .login

最近从 opensuse 42.3 转到 xubuntu 20.4,想保留我的长期习惯。我的窗口管理器是 fvwm,我的登录 shell 是 tcsh。

我注意到我的 .login 文件没有在 X 控制台登录时执行,而以前在 openSUSE 上可以执行。显然 ps -H 的进程顺序是

在 openSUSE 上

/usr/bin/sddm/
  /usr/bin/X -nolisten tcp -auth ...
  /usr/lib/sddm/sddm-helper ... --start fvwm --user lucio
   /usr/bin/fvwm
    /usr/bin/ssh-agent /usr/bin/gpg-agent --sh ...

在 xubuntu 上

/usr/sbin/lightdm
   /usr/lib/xorg/Xorg -core :0 ...
   lightdm --session-child 12 19
     fvwm2
      /usr/bin/ssh-agent /usr/bin/im-launch fvwm2  

无论如何,看起来 .login 在 fvwm 之前未在 ubuntu 中执行,因此 fvwm 启动的脚本和终端会忽略 .login 设置的(一些)内容,其中包括:

  1. 设置 PATH
  2. 设置 X 字体路径 (xset +fp
  3. 一些音频设置(目前已注释掉)
  4. 一些语言环境设置,如 setenv LC_TIME en_US.UTF-8

(步骤 2 和 3 以处于 X 会话中为条件,在 opensuse 上会检查 $?XSESSION_IS_UP ... 等效项是什么?)

我可以轻松地将项目 4 移动到 .cshrc 或需要它的单个脚本,但对于路径(1 和 2),它们应该完成一次,以避免将用户项目多次连接到默认的“系统”路径。

有没有办法在 X 会话开始时设置这样的环境?

编辑:.login 在 ssh 登录中有效

相关内容