这是编程和服务器管理员之间的一个中间地带,但这似乎最终是最相关的地方。
我正在寻找一种方法来确定变量 ' $DISPLAY' 是否正在宣传我们可以实际连接到的 XServer,也就是说,是否所有身份验证等都已到位以允许执行进一步的操作。
理想情况下,我正在寻找返回 true/false 的 shell 端工具,可以在构建脚本中使用它来确定是否应该运行其中的其他测试(我无法控制)。
目前的测试只是检查env变量“ $DISPLAY”,如果它存在,将尝试连接,当连接不起作用时,测试假设测试失败,而不仅仅是显示器无法连接。
我只需要能够做到
if [[ ! can_connect_to_X ]] ; then
unset DISPLAY
fi
Run Code Online (Sandbox Code Playgroud)
为了阻止这些测试有严重的精神问题。
在理想情况下,执行此操作所需的工具应该与 X 客户端库本身一起提供,以免产生特殊的依赖关系,并且能够假设如果该实用程序不存在,我们将无法连接到任何显示器。
我想使用 Ubuntu Xenial 16.04 设置多座配置。
经过一些研究,现在似乎可以通过 systemd 通过“loginctl”调用来实现。(例如在这里看到)。
在深入研究教程之前,因为我现在没有所需的材料(手头只有一个键盘),我想知道是否可以仅使用一张具有两个输出,HDMI 和 DVI。似乎需要两张卡,但我想确定一下。
谢谢
Windows 的一个好(少数)特性是它的 RDP 协议实现。这个奇迹让我可以在办公室使用我的 2 个屏幕设置,然后开车回家,打开 VPN 连接,然后从家里打开 RDP 连接到办公室 PC,并让我的环境与我离开时完全一样(除了适应的屏幕分辨率)到我的家用 PC 屏幕硬件)。
上面的方法很有效,而且效果很好 - 在 Windows 上。我想在 Linux 上使用相同的功能。我希望能够在办公室计算机上打开 Gnome / KDE /(其他 Windows 管理器支持此功能),然后从家里连接并将显示导出到我当前的屏幕。
我已经尝试了几种可能的解决方法,例如让 VNC 会话不断打开并从工作场所和家中连接到它 - 这有效但并不有趣(您失去了“本机”应用程序的响应能力,无法访问本地存储和协作) .)
你能提出一个解决方案吗?也许一些 Xorg 插件?
感谢您阅读,马克西姆。
我正在尝试无头启动 Firefox。以下是启动它的 shell 脚本的开头:
#!/bin/sh
Xvfb :99 >/dev/null 2>&1 &
XVFB=$!
sleep 3
firefox --display=:99 >/dev/null 2>&1 &
FIREFOX=$!
Run Code Online (Sandbox Code Playgroud)
运行此脚本时,出现以下错误:
Xlib: extension "RANDR" missing on display ":99".
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用以下命令启动 Xvfb,但它并不能防止出现错误:
Xvfb -extension RANDR :99 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)
和
Xvfb +extension RANDR :99 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法在 Xvfb 中启用 XRandR,以便 Firefox 能够看到扩展?
或者,有没有办法在 Firefox 中禁用 XRandR?
我正在查看 RedHat Enterprise Linux (RHEL) 5.3 服务器群,它们都安装了 GNOME 和 Xorg,但都不需要它们。它们是由第 3 方从 VM 模板部署的,我不知道它们的全部历史。我所知道的是,他们中没有人运行实际需要安装完整 GUI 的应用程序。但是,有些人可能会运行需要一些 X 库的应用程序(想到 ImageMagick)。
根据yum grouplist,'X Window System'组没有安装,所以我不能yum groupremove在这里使用。
是否有足够低的依赖链包,或多个包,我可以删除,它将删除 Gtk、GNOME 和 Xorg?或者,如果它在开始之前生成要删除的包列表,我们可以重新安装我们需要的应用程序,这将在我们完成后拉回 X 库。
有人知道如何克隆/连接到正在运行的 xorg 服务器以软实时查看监视器/显示器显示的内容(显示器在几英里之外,但我可以通过 TCP/IP 到达它)?我有一个小脚本来获取屏幕截图,但有点受限。
#!/bin/bash
REMOTE_USER=root
IP=$1
IMAGE_FILE=/tmp/host_${IP}_`date +"%Y%m%d-%H:%M:%S"`.png
ssh root@$IP 'xwd -d :0 -root | gzip' | gunzip | convert - $IMAGE_FILE
Run Code Online (Sandbox Code Playgroud)
当然,如果可能的话,我认为以软实时方式查看显示器显示的内容会很好。:)
提前致谢,
亨伯