![我如何启动 urxvt 作为正在运行的 XWin 实例的子实例?](https://linux22.com/image/1356575/%E6%88%91%E5%A6%82%E4%BD%95%E5%90%AF%E5%8A%A8%20urxvt%20%E4%BD%9C%E4%B8%BA%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%20XWin%20%E5%AE%9E%E4%BE%8B%E7%9A%84%E5%AD%90%E5%AE%9E%E4%BE%8B%EF%BC%9F.png)
我已将 XWin 配置为在登录时自动启动,这会给我一个托盘图标,我可以在其中包含启动 X 应用程序(这些应用程序将是 XWin 实例的子应用程序)并正确设置它们的环境,就像我在基于 Unix 的操作系统中运行一样(XWin 是通过设置环境的登录 shell 启动的)。
问题是我找不到将 x 个应用程序 (urxvt) 作为该 XWin 实例的子项启动的方法。这会破坏交互式 shell 的启动,因为我必须对需要打开的每个终端使用登录 shell。
我如何模拟 XWin 托盘图标应用程序菜单操作?(例如:从开始菜单快捷方式)
答案1
如果您对 XWin-Menu 感到满意,您可以通过编辑来扩展它/etc/X11/system.XWinrc
:
// Make some menus...
menu apps {
xterm exec "xterm"
"Emacs" exec "emacs"
notepad exec notepad
xload exec "xload -display %display%" # Comment
urxvt exec "urxvt" # <- added by me
}
保存后,不要忘记Reload XWinrc
应用更改。
但是,我使用了以下方法(我想将 URxvt 固定到任务栏)——这听起来确实很麻烦,可能确实如此……但嘿,这是 Windows;)
首先,我创建了一个c:\cygwin\cygwin.bat
@echo off
C:
chdir C:\cygwin\bin
zsh --login -i -c 'urxvt'
根据您的情况调整路径和 shell。
要配置 URxvt 的外观,我使用以下几行.Xdefaults
:
URxvt.borderColor: black
URxvt.internalBorder: 4
URxvt.background: black
URxvt.foreground: orange
! URxvt.inheritPixmap: True
! URxvt.shading: 40
! URxvt.tintColor: orange
URxvt.scrollBar: False
URxvt.geometry: 150x60+500+100
URxvt.font: -*-clean-bold-r-normal-*-17-*-*-*-*-*-*-*
更改为您的偏好,或者!
如果您喜欢默认设置,请取消注释。
然后我创建了一个快捷方式(也在 中C:\cygwin
),以便我可以自定义图标,并将该快捷方式重命名为ZSH_tray
。此快捷方式固定到任务栏。
我的主要问题是(可能也是你的问题)除了 URxvt 窗口之外还有一个 shell 窗口。为了防止这种情况,我使用托盘:
- 安装并启动 Tray-It
- 通过快捷方式启动 URxvt
- 在 Tray-IT 中:
- 右键单击相应条目 -> 放置在系统托盘中
- 编辑 -> 个人资料
- 根据截图配置
- 隐藏 Tray-It 本身并与窗口一起启动(编辑 -> 选项)