我运行多个屏幕会话,每个屏幕会话均使用“screen -S name ”创建,并且我希望能够在状态栏中显示我用于创建当前屏幕会话的名称。
然而,我似乎无法做到这一点。有任何想法吗?
每当我启动时screen,我的别名定义/etc/profile.d都会丢失screen。
如何screen在启动时读取/获取所有文件/etc/profile.d/?
我最近被添加到 unix 服务器上的一个组中。我的活动屏幕会话尚未更新到新组:
$groups
A B C D
$screen -r
$groups
A B C
Run Code Online (Sandbox Code Playgroud)
在不关闭屏幕会话的情况下,有没有办法在屏幕会话中使用我的新权限?或者,如果没有,是否至少有一种方法可以保存每个选项卡所在的所有不同目录?
谢谢,丹
在 Mac OS X 上使用 screen,我想知道如何转到行的开头/结尾。
通常我在终端上使用^ + A/ ^ + E,但这不适用于屏幕。
在 bash 中,我可以通过执行以下操作来启动命名屏幕
screen -S test
Run Code Online (Sandbox Code Playgroud)
如果我输入
ctrl-a A new_screen_name
Run Code Online (Sandbox Code Playgroud)
它只会改变屏幕的标题。当我做一个
screen -r
Run Code Online (Sandbox Code Playgroud)
我看到会话名称仍然相同。
首先,在启动时执行命令的最佳方式是什么,cron?我可以su在 shell 脚本中使用在不同用户之间切换吗?如果可以,如何切换?
如何screen在启动时创建多个分离的会话?screen -A -m -d -S test ./script.sh似乎它应该可以工作,但是在由 cron 启动的脚本中使用它不会显示启动后正在运行的任何屏幕会话。
命令完成执行后屏幕会话似乎已关闭,我可以将其保持打开状态以便查看输出吗?
谢谢!
在运行 Snow Leopard 的 iMac 上,我可以打开终端窗口并启动“屏幕”会话,没有任何问题。但是,如果我 ssh 进入同一台机器(从其他地方或本地),然后尝试启动“屏幕”会话,它就会挂起。根本没有输出。它不会响应 Ctrl-d、Ctrl-c 等,并且必须通过它的 PID 被杀死。在本地终端中创建的会话可以从 ssh 会话中恢复。这是否有助于直接怀疑任何配置?
我怀疑 .bashrc、.profile 等文件中的一个存在问题,但不知道哪个适用于这种情况,并且最近没有在该区域进行任何更改。所有这些都是作为同一用户完成的。
我 99% 确定这在不久前还有效,但我认为这种情况之前没有出现过的可能性很小。
回答以下吉尔斯的问题:
在这两种情况下,环境变量是相同的。大多数都是空白的——只设置了 COLUMNS、LINES、HOME、PATH、SHELL 和 TERM。
在挂起状态下,屏幕根本不接受任何输入。当它被杀死时,父 shell 接收任何用于屏幕的键盘输入。它不消耗CPU时间。
观察启动的两个屏幕进程,编号较低的一个正在执行以下操作:
$ sudo dtruss -p 1545
SYSCALL(args) = return
sigreturn(0x7FFF5FBFEE80, 0x1E, 0x7FFF5FBFEE80) = 0 Err#-2
__pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38) = -1 Err#22
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0
kill(0x60A, 0x0, 0x1) = 0 0
sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0
sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C) = 0x0 0
sigsuspend(0x0, …Run Code Online (Sandbox Code Playgroud) 使用 screenrc,如何C-a c在当前窗口的工作目录中打开一个新窗口?默认情况下,它似乎在调用原始屏幕会话时在工作目录中打开新窗口。
我想要一个在我的 Linux 系统上活动的所有用户的列表,包括那些运行但分离屏幕会话的用户。该who命令仅显示我当前登录的用户,而不显示具有分离屏幕会话等的用户。
我正在考虑解析 的输出,ps但这也会让用户显示他是否正在运行 cron 作业。
我正在尝试与其他用户一起使用 screen 而不是我登录。命令开始于:
sudo -u user /usr/bin/screen -A -m -d -S screen ./nice_command
Run Code Online (Sandbox Code Playgroud)
对于重新连接,我正在使用screen -x screen,但它总是说:
没有要附加的屏幕匹配屏幕
我的错误是什么?
编辑:
screen -x user/22969.screen
There is a screen on:
22969.screen (12/13/2011 11:37:43 PM) (Private)
Run Code Online (Sandbox Code Playgroud)