我的一个朋友刚刚向我展示了一个简洁的内置实用程序screen
,长话短说,它允许您创建终端实例。
我正在运行 Windows 10,并尝试在 Windows 上的 Ubuntu 上将此实用程序与 Bash 一起使用,但由于它是一个内置实用程序,所以我没想到会有什么问题。在另一台计算机上试用后,我去我的电脑上启动了一个实例,screen -S hello
结果得到的结果是
Cannot make directory '/var/run/screen': Permission denied
我用谷歌搜索了这个错误,首先出现的是本网站也就是说尝试
sudo /etc/init.d/screen-cleanup start
我没能成功。现在使用相同的屏幕命令,发生的情况是
[screen is terminating]
[11:44:25 ~]> _
没有其他解释。我确保没有实例在运行,screen -ls
然后得到了No Sockets found in /home/daniel/.screen.
。我回到谷歌来解决这个问题,但我找到的所有问题/答案都是针对 CentOS 的(我没有运行,只是为了清楚起见,cat /etc/issue
返回Ubuntu 14.04.4 LTS \n \l
)。无论如何,我确实尝试了他们的一些建议,尝试了所有这些:
sudo chmod 2775 /usr/bin/screen
sudo chmod 755 /usr/bin/screen
sudo chmod 777 /usr/bin/screen
sudo chmod u+s /usr/bin/screen
sudo chmod 755 /var/run/screen
以及chmod 700 ~/.screen
创建和导出新的 之后SCREENDIR
。
我没有尝试使用任何特殊程序,也没有尝试使用 ssh,只是想screen
在我的 bash/Ubuntu 控制台上本地使用。
任何帮助都将不胜感激!
答案1
我用谷歌搜索了错误信息,第一个出现的就是这个网站,上面说可以尝试一下
使用 Windows Bash Shell 源代码来运行 Windows Bash Shell,而不是原生 Ubuntu。这两个系统不能互换。至于 Bash 本身,你可以使用它,但“screen”和“tmux”等工具有特定需求,而 Windows Bash Shell 还没有(目前!)。你在 Ubuntu 中使用的任何命令在 Windows Bash Shell 上都注定会失败。
我没有尝试使用任何特殊程序,也没有尝试使用 ssh,只是想在我的 bash/Ubuntu 控制台上本地使用屏幕。
是的,“屏幕”是一个特殊的程序。
除非您能够破解软件,否则您将无法成功运行它。Windows Bash Shell 尚不支持“screen”(屏幕)(目前!)。Windows 10 内部版本 14361将引入“tmux”(我认为“screen”也可以工作),并且该版本似乎是“内部预览版本”,尚未向公众发布。
答案2
tmux 在 Windows 10 bash 中运行。它与 screen 相同,如下所示:
tmux # starts a new tmux session
ctrl-b c # new tab
ctrl-b 0 # switch to tab 0
ctrl-b d # detach
tmux a # re-attach to your previous session
ctrl-b ? # for help
答案3
我第一次尝试启动屏幕时收到了同样的错误:
Cannot make directory '/var/run/screen': Permission denied'
冉:
sudo screen
然后就可以运行了screen
(尽管我的使用有些受限)