linux - 通过 SSH 为另一个用户打开图形应用程序

标签 linux

如果之前有人问过这个问题,我深表歉意,但我真的不知道能够自己进行研究的词汇。

假设我有一台连接到显示器的 Linux 机器(在我的例子中是 Raspberry Pi 上的 Raspbian)。如果我将鼠标插入这台机器,我可以双击 Scratch,然后将其打开并显示在显示器上。

现在假设我没有连接鼠标,但我可以从另一台机器通过 SSH 连接到它。我将如何以同样的方式启动程序?换句话说,我不想在 SSH 窗口中启动它,也不希望它通过 X11 转发给我。我希望它在那台机器上启动,在那台显示器上可见,就像我双击它一样。

希望我的问题很清楚,但如果有人感到困惑,我很乐意澄清!

最佳答案

找出正确的环境。其中一种方法是在您的 ssh 终端上发出 w:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1   tty7     :0               15:49   12:56   1.90s  0.01s gdm-session-wor
user1   pts/0    :0.0             15:50    8:11   0.17s  0.70s gnome-terminal
user1   pts/1    tbpc             15:54    0.00s  0.08s  0.00s w

现在大多数情况下对您来说是 :0。从您的 ssh 终端问题:

env DISPLAY=:0 command

所以如果你想启动 firefox:

env DISPLAY=:0 firefox&

关于linux - 通过 SSH 为另一个用户打开图形应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517619/

相关文章:

linux - 为什么 wget 输出到 stderr 而不是 stdout?

php - 具有多字节字符编码支持的 HTML 到图像/pdf 转换器

javascript - 带有嵌入式闪存 swf 的 html 文件的符号链接(symbolic link)位于 redhat 或 centos Linux 的不同目录中

linux - 在不使用 make 的情况下制作 make

linux - 我的 Google Chrome 扩展程序和我在 Linux 上的 native 程序之间的用户私有(private)连接

Ubuntu 13.10 中的 C 编译错误,可能是 makefile 中的错误

linux - 连接 ioctl 和驱动程序操作

linux - cp 命令根本不复制

c++ - 如何在 VS Code 中获得注释智能感​​知

linux - Perl:关闭信号处理程序中的子进程管道挂起?