有时候在 Linux 系统需要执行部分命令后在后台运行, 这时候需要用到 Screen, 把现在的命令从前台切换到后台, 也可以从后台中取出。本文主要介绍在群晖中安装 Screen 和使用 Screen 常用的命令, 以下内容需要在命令行下运行, 如果没有进入命令行使用 ssh 进行登陆, 并且使用 sudo -i 切换到 root 账号下。

博主博客

一、Screen 安装

1.1 安装 bootstrap

在安装 Screen 前需要安装 bootstrap 才能使用 ipkg 命令。

root@nukixNAS:~# wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh
root@nukixNAS:~# chmod +x syno-i686-bootstrap_1.2-7_i686.xsh
root@nukixNAS:~# sh syno-i686-bootstrap_1.2-7_i686.xsh

更新源

root@nukixNAS:~# ipkg update

1.2 安装 Screen

方式一:使用 ipkg 直接安装

root@nukixNAS:~# ipkg install screen

方式二:使用 ipk 文件进行安装

root@nukixNAS:~# wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/screen_4.0.3-2_i686.ipk
root@nukixNAS:~# wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/termcap_1.3.1-2_i686.ipk

root@nukixNAS:~# ipkg install termcap_1.3.1-2_i686.ipk
root@nukixNAS:~# ipkg install screen_4.0.3-2_i686.ipk 

二、Screen 常用命令

如果出现 Cannot find termcap entry for 'xterm-256color' 使用命令 TERM=xterm screen 替代 screen

收到错误是因为在您的 mac 上您有TERM=xterm-256color,并且 xterm-256color 不在远程机器的 termcap 中。从另一台计算机连接时不会出现错误,因为它的 TERM 变量设置为其他值。

screen -ls          列出当前所有的session
screen -S session   创建一个名为 session的会话
Ctrl+a d            退出当前 screen
screen -r session   进入窗口 session的会话
exit                退出并关闭会话,并删除session

三、环境变量(DSM 7.3.2-86009)

系统更新 DSM 7.3.2 后提示 -sh : ipkg : command not found-sh: screen: command not found。 最后在 /opt/bin 目录中找到 ipkgscreen, 只需要把 /opt/bin 加入到环境变量即可继续使用。

/etc/profile 文件的 PATH 中加入 /opt/bin

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/opt/bin
export PATH

参考文献