我非常喜欢 xterm,也非常喜欢 XFCE,但两者似乎不能很好地协同工作。在 KDE 中,如果我注销并重新登录,我的 xterm 将在我离开时的位置重新启动。它将重新启动 xterm,但它们都会在屏幕中央打开,而不是在正常位置。
这对我来说尤其重要,因为我的笔记本电脑上通常运行 19 个 xterm,4 个不同的工作区各运行 4 个,每个工作区使用不同的前景色来帮助我了解上下文,另外 3 个在另一个工作区运行。在一个工作区中间打开所有 19 个 xterm 非常烦人。
我尝试使用 xfce4-terminal,它确实保存了它的位置,但它无法禁用辅助屏幕(当执行“less”或“vim”并退出时,它会删除“less”输出并将终端切换回原来的状态,即 ti/te termcap 功能)。辅助屏幕确实让我很烦,但所有“新”终端(如 xfce 或 gnome)似乎都无法像 xterm 那样禁用它。而且仅设置“LESS”环境变量来禁用它是不够的,因为我经常在几百台远程服务器中的一台上工作。我尝试将我的终端类型设置为“vt100”,这可以防止这种情况,但也会禁用颜色,而我在 vim 中真正依赖颜色来进行语法突出显示。
感觉我真的很挑剔,但我确实很想使用 XFCE和有一个终端,它既能记住它的位置,又不会进行屏幕切换。:-)
答案1
我不完全确定发生了什么,但这已经开始起作用了。我正在写一些笔记,以防其他人遇到它,这会有所帮助。我还从另一个人那里得到了确认,Ubuntu 10.10 下的 xterm 位置已恢复。
一些细节:我正在运行 Ubuntu 10.10 提供的 XFCE 4.6。XFCE 版本 4.6 包含一个改进很多的会话管理器,这也许可以解释为什么保存/恢复位置在 XFCE 4.6 下有效,而在之前我尝试过的版本下却不行。但是,在 4.6 上经过多次重启后,它肯定无法在 Chromium 和 xterm 上运行。
今天早些时候,我重启了系统,XFCE 面板消失了,即使注销并重新登录后也是如此。我手动运行了“xfce4-panel”,面板又回来了。它看起来略有不同,但肯定是我的面板——我的时钟设置和应用程序都在那里,位置和大小都正确(右下角,不是全宽)。此外,“注销”按钮从一个带棍子的圆圈(国际电源按钮符号)变成了一个穿过白色大门的绿色家伙。
此时,如果我注销并重新登录,我的 xterm 和 chromium 位置将在登录时恢复。
我注意到的一件事是,如果我“ps awwlx | grep xfce4-panel”,它会包含一个“--sm-client-id”参数,后面跟着一个长标识符。我想知道面板之前是否没有参与会话管理。
一种可能性是,我将笔记本电脑上的一些文件复制到了此系统的主目录中,也许这保留了我很久以前尝试过的旧版本 XFCE 的一些设置?我试图对所复制的内容进行严格筛选,但我只是想提一下,因为它是我能想到的可能与 Ubuntu 10.10 原版安装不同的仅有的东西之一。
我今天花了相当多的时间阅读 xterm 代码、X11R6 会话管理信息和 XSMP 文档,从我看到的一切来看,xterm 应该进行会话管理。
最后,也可能是应用程序 -> 设置 -> Xfce 4 设置 -> 会话和启动 -> 高级,我已禁用“启动时启动 KDE 服务”,但后来又重新启用了。如果您遇到此问题,并且此框中禁用了 GNOME 或 KDE,请尝试启用它。
答案2
不出所料,有关 Xterm 窗口几何结构的所有信息都可以通过 X11 命令行实用程序访问:您可以xprop
根据进程的窗口 ID 或名称运行。输出的形式不是您在重新启动 X11 时可以用于启动 xterms 的形式,但我使用了基于解析此信息的程序来提供可以从文件启动的命令.xinitrc
。运行窗口管理器的麻烦在于,它对于启动 X11 桌面时应该发生什么有自己的想法,您必须围绕它的假设进行工作。
一些指示:
xprop
手册页;- 使用该
.Xdefaults
文件。普渡大学 CS 实验室信息提供有关xprop
输出的信息; - 因此,获取最顶层窗口的 pid 和详细信息,提供有关获取 X11 窗口 ID 的信息。
答案3
我在 Arch Linux 论坛上发现的一篇相当老的帖子建议:
在“设置”->“窗口管理器调整”->“位置”下调整“触发智能位置的窗口最小尺寸”滑块
我刚刚在 Xubuntu 10.10 上尝试过,虽然没有节省xterm 窗口位置,它默认阻止它们重叠。