通过 ssh 连接到我的 Ubuntu 机器会自动附加一个现有的屏幕会话,而分离则会结束我的 ssh 会话
我想要的是能够通过 SSH 连接到我的 Ubuntu 机器,而无需自动连接到该机器上的屏幕会话。或者至少,我应该能够从该屏幕会话中分离,而无需结束我的 SSH 会话……对吗?似乎行不通。
这样我就可以尝试运行firefox --display <whichever one is being forwarded to my ssh session>
,以便我可以调试远程 Ubuntu 机器正在运行的网站(通过本地主机)。
最好的情况是,我可以直接远程桌面访问我的 Ubuntu 机器。但是它没有设置为允许远程桌面,而且我看不出通过 shell/ssh 进行远程设置的方法。另外,听起来你需要一个静态 IP 才能远程桌面访问 Ubuntu 机器(所以我继续阅读)。
答案1
原始答案
看来您的byobu
安装可能编辑了您的某个登录脚本文件。您应该搜索这些,即
~/.bashrc
~/.profile
- 也可能是系统范围的文件
或者byobu
-screen
您可以使用 grep 或直接打开文件。
例如打开~/.bashrc
并搜索byobu
,即类似
if [ $SSH_TTY ] && [ ! $WINDOW ]; then
SCREENLIST=`screen -ls | grep 'Attached'`
if [ $? -eq "0" ]; then
echo -e "Screen is already running and attached:\n ${SCREENLIST}"
else
type -P byobu &>/dev/null && byobu -U -R || screen -U -R
fi
fi
注释掉此部分以恢复正常ssh
行为。
看点击此处了解更多信息关于此自动重新连接行为。
这是有效的方法(见下面的评论)
在~/.profile
,注释掉 _byobu_sourced=1 . /usr/bin/byobu-launch
如果您尝试启动 X11 Firefox 会话,则(您可能需要添加标志)。ssh -X <hostname> firefox
-no-remote