如果之前有人问过这个问题,我深表歉意,但我真的不知道能够自己进行研究的词汇。
假设我有一台连接到显示器的 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/