从远程服务器调用 xrdb 加载 Xresources 文件

从远程服务器调用 xrdb 加载 Xresources 文件

我有一个简单的启动脚本,我希望启动远程桌面管理器 (Exceed onDemand),以便在远程计算机上启动 i3 窗口管理器。

这是脚本(称为i3start),它只是将环境设置为指向我本地构建的二进制文件,加载一些 Xresources 文件以设置颜色和其他设置,然后最终启动i3

#!/bin/bash

_root="${HOME}/.i3wm"

source /etc/environment
export PATH="$_root/usr/bin:${PATH}"
export LD_LIBRARY_PATH="$_root/usr/lib:$_root/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
export PERL5LIB="$_root/usr/lib/urxvt"

xrdb $_root/common/themes/solarized-dark/Xresources
xrdb -override ${HOME}/.Xresources
xrdb -q &> ~/xrdb.log

exec i3

在 Exceed onDemand 中,我有以下 Xstart 设置:

  • 启动方式:安全Shell
  • 主持人:<insert_server_name>
  • 验证:使用超出连接服务器凭据
  • 命令:/home/user_name/.i3wm/i3start

我不完全确定(即使在阅读了他们的用户手册之后)这些设置会产生什么命令,但我想它会执行一些操作来启动 X 然后 issues ssh -X <insert_server_name> /home/user_name/.i3wm/i3start,或者达到这种效果。

问题是——正如通过检查确认的那样~/xrdb.log,它是空的——加载的那些文件xrdb不起作用。我还用来xrdb -n确认文件可以被正确解析xrdb,但它仍然导致 X 资源数据库中没有设置任何内容。

如果我将 Xstart 设置更改为仅启动xterm

  • 启动方式:安全Shell
  • 主持人:<insert_server_name>
  • 验证:使用超出连接服务器凭据
  • 命令:xterm

我得到一个简单的终端,然后从 启动脚本后/home/user_name/.i3wm/i3startxterm一切都按预期工作,并且设置从这 2 个 Xresources 文件加载并由 正确显示xrdb -q

在我的脚本中,在调用加载这些设置i3start之前我需要做些什么吗?xrdb我认为这一定是刚启动时xterm所做的事情。

编辑:忘了说了,远程服务器是Ubuntu 16.04(xenial)。

相关内容