我需要通过 ssh 在远程主机上运行 Firefox 进程,并且即使在 ssh 注销后也保持进程运行。我已经尝试过这些方法 nohup firefox & ,screen,disown -h。但似乎这些方法只适用于没有硬件显示的进程。因为这些方法对我的脚本很有效,而且即使在 ssh 注销后我也可以保持脚本运行,但我无法对 Firefox 执行相同的操作。我被这个问题困扰了很久。请帮帮我!
答案1
对于 Firefox,最好使用隧道
ssh -D 8080 -CfN user@server
-D 标志设置动态端口转发
-C 使用压缩
-f 将 ssh 放入后台
-N 不执行远程命令(对隧道有用)
看人SSH了解详情
然后配置 Firefox 在本地主机端口 8080 上使用 socks5
在首选项 -> 高级 -> 网络选项卡下
要关闭隧道,请使用
killall ssh
答案2
要通过 ssh 运行远程 X 应用程序,并释放运行命令的控制台:
ssh -fX user@host Xapp
其中 Xapp 是远程 X 应用程序。如果是 Firefox,则需要选项 -no-remote
ssh -fX user@host firefox -no-remote
有关该选项的一些信息-f
:
-f Requests ssh to go to background just before command execution.
This is useful if ssh is going to ask for passwords or
passphrases, but the user wants it in the background. This
implies -n. The recommended way to start X11 programs at a
remote site is with something like ssh -f host xterm.