我们办公室有一个大屏幕连接到一台旧电脑,它的唯一目的是显示由 Munin、Nagios 等软件生成的信息。它运行 Debian 和 Xfce 以便能够在该机器上运行。它仍然是一个 XServer!
我想做的是将任何机器(Linux、macOS,但也可能是 Windows)远程连接到该 XServer 并镜像客户端屏幕(所以不是ssh -X!!!)。因此,任何人都可以与房间中的其他人共享他屏幕上的视图。
将显示从 Linux 终端导出到 Linux 桌面很容易;您执行以下操作:
在 192.168.90.121(本地PC)上:
xhost + 192.168.10.164
Run Code Online (Sandbox Code Playgroud)
在 192.168.10.164(远程 PC)上:
export DISPLAY=192.168.90.121:0.0 <br/>
firefox
Run Code Online (Sandbox Code Playgroud)
Firefox 窗口出现在我的本地PC 上。在上述情况下,两台 PC 都是 Linux。
我可以类似地将 Linux 显示导出到 Windows PC 吗?在上面的例子中,localPC 是 Windows,remotePC 是 Linux。
我通过 SSH 连接到某些机器来使用 X 应用程序。当我运行 X 应用程序时,例如,xclock为简单起见,我收到一条控制台消息:
Warning: Missing charsets in String to FontSet conversion
Run Code Online (Sandbox Code Playgroud)
...但应用程序运行。我的区域设置是:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
现在,我发现这个旧建议只需设置export LC_ALL=C. 并且 - 这有效,错误消息消失了。但是,我真的不想那样改变我的语言环境!
我可以做些什么来避免错误并保留我的区域设置吗?
附加信息:
如何在我的计算机上同时运行两个实例,例如 GNOME?我知道如何更改虚拟终端,但我不知道如何启动 gnome 的第二个实例 - 它只是退出告诉我 X 会话已锁定。
编辑:我真正想知道的另一件事是如何同时运行两个不同的桌面 - 例如 XFCE 和 GNOME。我知道我可以在.xinitrc或类似的东西中更改默认桌面,但是我每次都必须这样做 - 在创建新的 XSession 时有什么方法可以选择桌面类型吗?
我正在寻找类似screen但 X 的东西?
我想象当我执行诸如“X --reconnect remote_server:11”之类的操作时的情况,并且我重新连接到预先存在的 X 会话,之前在其上运行的所有程序仍然存在。
有这样的吗?平台:Linux。
我经常在我的 Linux 计算机上运行计算,这会导致我的 X 服务器时不时崩溃。几乎总是,一些程序似乎在崩溃中幸存下来并处于可中断的睡眠状态,例如:
29315 ? Sl 54:35 /home/kashim/Desktop/anylogic/anylogic -vmargs -Xmx1024M
Run Code Online (Sandbox Code Playgroud)
有没有办法将这些应用程序与新的 X 服务器重新连接?
当我运行时:xinit [client application] -- :128 vt01 -novtswitch我注意到除了我的客户端应用程序之外,它还启动了一个 xterm 实例。根据手册页:
...
If no specific client program is given on the command line, xinit will
look for a file in the user's home directory called .xinitrc to run as
a shell script to start up client programs. If no such file exists,
xinit will use the following as a default:
xterm -geometry +1+1 -n login -display :0
...
Run Code Online (Sandbox Code Playgroud)
我认为“如果”是这里的关键词。我已经指定了我自己的客户端程序;为什么它仍然运行 xterm?
这是在我刚刚创建的干净的 Mint 12/mate 虚拟机中。
有一些关于如何在 Linux 子系统 Windows (WSL) 中运行 GUI 应用程序的指南。
我试图关注其中的一些,但他们每个人都有一些共同点:Linux 原生 Github Atom 和 Linux 原生 Visual Studio Code 都拒绝打开。
在我的最后一种方法中,遵循这个过于简单的指南,我没有收到任何错误消息。运行atom或code只是不做任何事情并立即返回。
从这个角度来看,运行gvim工作没有问题:
这里可能是什么问题?
编辑: 一些细节:
assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:108, function pa_mutex_unlock(). aborting.
这可以在运行时解决,sudo apt remove --purge libpulse0但xfce4取决于它。
或者可以使用 Windows 10 build 17627,据我所知,它从未发布过。
所以在我最近的测试中,我没有使用任何桌面环境,而是直接启动应用程序,DISPLAY=:0.0以便 Xming 可以选择它,它为gvim. (我 …
x-server atom-editor visual-studio-code windows-subsystem-for-linux
我想用我的笔记本电脑看电影,如果 vlc 或其他一些应用程序正在运行,我可以如何使用 xmonad 禁用它关闭屏幕。有什么我可以用来防止这种情况的功能吗?
我可以用 Xmonad 做些什么还是取决于我的 X?有任何想法吗?
Is it possible to somehow open an x application on another users display?
假设我有登录到 ubuntu 桌面的用户 A,以及通过 SSH 访问 ubuntu 机器的用户 B。
我知道用户 B 可以在本地打开 x 应用程序,但是用户 B 是否可以打开程序(即 firefox)并将其显示在用户 A 的桌面会话中?
如果是,如何?
x-server ×10
linux ×6
xorg ×4
atom-editor ×1
debian ×1
export ×1
gnu-screen ×1
locale ×1
process ×1
sleep ×1
ssh ×1
ubuntu-12.10 ×1
utf-8 ×1
windows ×1
windows-subsystem-for-linux ×1
xfce ×1
xmonad ×1