下面是尝试使用 gnu screen 时发生的情况。从本质上讲,一切正常,直到我 su 作为另一个用户。然后我得到一个Cannot open your terminal '/dev/pts/7' - please check.错误
l413:~$ ssh sbird@example.com
sbird@example.com password:
sbird@example:~$ screen
[screen is terminating]
sbird@example:~$ su - gradplan
Password:
gradplan@example:~$ screen
Cannot open your terminal '/dev/pts/7' - please check.
gradplan@example:~$
Run Code Online (Sandbox Code Playgroud)
如何以 sbird、su 登录到 gradplan,并且仍然使用 screen?
GNU Screen 手册说:
当程序终止时,
screen(默认情况下)会杀死包含它的窗口。
该(per default)建议你可以改变这个选项,从而使程序终止不会杀窗口它在如何改变我这种行为?
是否可以使用某些键绑定将粘贴缓冲区中复制的文本粘贴到不同的窗口,而不必离开当前窗口?即,不是转到窗口并执行 Ctr-a + ],而是提供 gnu screen 命令和接收窗口的名称?
我有一台笔记本电脑,上面运行着选美(PuTTy SSH 密钥代理)。如果我通过 ssh 连接到系统并启动屏幕,则 ssh 密钥转发工作正常。
但是,如果我与该屏幕会话断开连接,请注销,然后重新连接——密钥转发不再起作用。我假设这是因为当我重新连接时,密钥转发设置在新 ssh 会话的不同端口上,而不是旧的。
有没有办法教单个屏幕窗口重新连接到代理转发,以便我可以使用我的密钥再次转发?
如何在屏幕会话中获取有关窗口的信息(标题、创建时间、可见内容)?我需要在脚本中执行此操作,因此我不是在寻找键绑定或交互式命令。
像 tmux 这样的东西list-windows会很棒。
在我的 GNOME 终端中,我可以使用鼠标滚轮上下滚动。但是一旦我screen在终端中启动,“鼠标滚轮”就不起作用。
如何让我的鼠标滚轮在屏幕上工作?
我喜欢在 vim 中使用鼠标调整窗口大小的方式。
是否可以在 GNU 屏幕中做同样的事情?如果没有,是否有支持此功能的屏幕替代方案?
我一直在试图解决这个问题——目标是在 GNU Screen 中水平滚动。(为了避免 CLI mysql 查询结果中出现丑陋的换行。)
如果你这样做:
screen -h 5000 # 5000 lines history
Ctrl-a r # to disable horizontal wrap
mysql -u user -p
SELECT * FROM db.big_fat_table LIMIT 500;
Ctrl-a [ # to enter scroll (copy) mode
Run Code Online (Sandbox Code Playgroud)
现在您可以分别使用Ctrl-b和上下滚动Ctrl-d。但是你如何左右滚动?
我正在运行 screen -D -R(可以选择使用 -S 名称),它工作得很好,但有一个问题 - 当给定的屏幕之前不存在时,我收到通知“新屏幕...”,并且很烦人等待。
如何禁用此特定通知?
我在 Ubuntu 机器上使用 wmctrl 从脚本管理窗口,我在 (gnu) 屏幕内运行。
如果我从本地机器启动屏幕会话,wmctrl 工作正常,包括我是否完全关闭终端窗口并在通过 ssh 远程连接到屏幕时发出 wmctrl 命令。相反,如果我使用 ssh 远程连接并启动屏幕,即使我从 Ubuntu 终端本地附加该屏幕会话,wmctrl 也不起作用(返回“无法打开显示”)。
我猜有一些隐藏的屏幕参数没有以允许在远程启动时访问显示的方式设置 - 任何想法它是什么以及如何从远程 ssh-screen 会话中修改它,以便脚本可以访问windows吗?
gnu-screen ×10
linux ×3
ssh ×2
ubuntu ×2
bash ×1
copy-paste ×1
gdm ×1
mouse ×1
productivity ×1
su ×1
tmux ×1
unix ×1