2024/6/4
远程服务器被管理员升级后使用screen报错
You are not the owner of /tmp/uscreens/S-xxx
解决办法:自己文件夹下执行mkdir ~/.screen && chmod 700 ~/.screen
然后配置环境变量export SCREENDIR=$HOME/.screen
再次执行screen后成功
2023/10/27
离线状态下无sudo权限的Linux中安装screen报错的问题
screen地址:Index of /gnu/screen
报错信息:configure: error: !!! no tgetent - no screen
解决方案 下载ncurses 地址 Index of /gnu/ncurses
安装ncurses过程中 install报没有权限时 在configure环节制定prefix目录
安装ncurses后screen还是报错,配置ncurses环境变量
export LDFLAGS=-L/。。。。/ncurses/lib -L后添加prefix目录+lib
export CPPFLAGS=-I/。。。。/ncurses/include -I后添加prefix目录+include 或include/ncurses
补充环境变量的配置
vim ~/.bashrc
键盘键入i进行输入
添加环境变量
export LDFLAGS=-L/.../ncurses-6.0/../lib
export CPPFLAGS=-I/.../ncurses-6.0/link/../include
[PATH] PATH=路径:$PATH
键盘键入esc按键然后输入:进入命令模式,输入wq键入enter保存并退出
##退出后输入下面命令使之生效
source ~/.bashrc #使上述修改的环境变量生效
配置完后不报错,但是还是没安装成功可能还是权限问题 继续configure环节指定prefix然后安装成功,配置环境变量即可使用screen命令
补充Linux下安装一个软件的操作
从主机找到离线下载需要的tar.gz包或者rpm包(暂时没用过rpm)
将包传到Linux下的某个目录
tar -xzvf 包名.tar.gz
cd 包名
./configure --prefix=路径 (prefix 是可选项)
make && make install
若有prefix则需要配置环境变量
screen的使用
终端有两种状态
- Attached:表示当前screen正在作为主终端使用,为活跃状态。
- Detached:表示当前screen正在后台使用,为非激发状态。
帮助
screen -help
查看已经存在的screen终端(查出来的数字可通过 kill 数字消杀后台,或进入对应终端输入exit,或screen -R [pid/Name] -X quit(没试过))
screen -ls
创建虚拟终端
screen -S/R 终端名称 ps:S要大写 (使用Ctrl+a+d 可以切回主端 )
进入虚拟终端(经尝试 创建时用-R没有会创建,有则进入,且-R/r会根据首字母匹配进入终端,匹配多个则不进去会提示)进不去用-d恢复(没试过)
screen -r [pid/name]
参考:终端命令神器--Screen命令详解。助力Unix/Linux使用和管理 - 知乎 (zhihu.com)
下面的没试过,保存下下
Ctrl + a,d #暂离当前会话
Ctrl + a,c #在当前screen会话中创建一个子会话
Ctrl + a,w #子会话列表
Ctrl + a,p #上一个子会话
Ctrl + a,n #下一个子会话
Ctrl + a,0-9 #在第0窗口至第9子会话间切换
Linux常用命令
pwd 打印当前目录
echo $PATH 输出PATH环境变量