有没有办法在不同的屏幕会话之间移动窗口?
例如,假设我有这个场景:
screen -S screen1
vim *.cpp
C-a d
screen -S screen2
Run Code Online (Sandbox Code Playgroud)
有什么办法可以将包含我的 vim 会话的 shell 从 screen1 移动到 screen2 吗?
我的 GNU 屏幕将其会话存储在/tmp目录中。
这意味着在重新启动后,所有会话都将丢失:
$ screen -list
No Sockets found in /tmp/uscreens/S-dehmann.
Run Code Online (Sandbox Code Playgroud)
我怎么能告诉它把它们存储在我的主目录中的特定目录中,它们不会那么容易丢失?
我通常有几个终端窗口,每个窗口都通过 ssh 连接到远程服务器。在每个窗口中,我都使用 gnu screen 程序工作,以确保在断开连接的情况下交互进程的持久性。
目前,每当 ssh 连接断开时(例如当我让我的客户端计算机过夜时),我必须手动且繁琐地在每个窗口内重新启动 ssh 会话,然后在每个窗口中繁琐地恢复特定的屏幕会话(例如“屏幕 - r 3453" 在一个窗口中,"screen -r 3462" 在另一个窗口中等等)
有没有一种优雅的方法来自动化这个?具体来说:
如果检测到 Internet 连接断开,则重新连接 ssh 会话
ssh 重新连接后立即运行终端窗口的特定屏幕实例
感谢您提供有关此的任何提示
我喜欢保存我在命令行上所做的一切,例如当我升级某些东西并想回读升级的过程等时。
通常使用 Mac OSX 和终端,您可以根据需要向后滚动,并使用 Cmd-S 保存。但是当我使用 gnu screen 在 SSH 上时,我无法直接从终端回滚。
如何将屏幕会话中发生的所有内容保存到磁盘?也许默认情况下(每个会话都会自动创建一个文件到磁盘......)
谢谢!
我广泛使用 screen 的会话功能。例如,我将“project1”的屏幕会话作为“screen -S project1”开始,然后当我需要重新连接时,我使用“screen -d -r project1”。这使得管理多个项目变得容易,每个项目都有自己的一组 shell 会话。
我现在想做的是,在 Windows 和 Linux 上运行时,能够使用选项卡式终端程序(例如 gnome-terminal)连接到屏幕会话并将所有屏幕窗口拆分为单独的选项卡. 通过这种方式,我可以获得屏幕的所有常用功能,但更丰富的 GUI 体验带来了便利。
Windows 和/或 Linux 上是否有任何此类终端程序可用?
我为不同的事情使用多个会话。一份用于工作,一份用于学校作业,我正在从事的每个项目一份。screen -ls返回时很难跟踪会话
11292.pts-0.chu (09/12/11 14:13:49) (Detached)
7616.pts-4.chu (09/01/11 10:31:57) (Detached)
1834.pts-0.chu (08/31/11 18:32:16) (Detached)
1810.pts-0.chu (08/31/11 18:45:20) (Detached)
Run Code Online (Sandbox Code Playgroud)
有什么方法可以命名我的会话以更好地控制吗?
我在屏幕会话中打开了 20 个窗口,我想对最右边的窗口 20 重新排序,就在位置 9 和 10 之间,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
...V
............
...................
...
V
1 2 3 4 5 6 7 8 9 20 10 11 12 13 14 15 16 17 18 19
Run Code Online (Sandbox Code Playgroud)
我怎样才能在一个或几个命令/秒中做到这一点?
通常我有 ssh-agent 运行,我 ssh 到我的堡垒主机,然后打开一个 tmux 会话并通过它连接到其他盒子。密钥转发适用于我从那时起打开的任何会话。
如果我在关闭终端后恢复我的 tmux 会话,让我的笔记本电脑休眠,无论如何,我在堡垒会话上的密钥转发仍然有效,就像在任何新会话上转发一样。但是,现有的不起作用。
我的 bashrc 中有一个小东西可以在我恢复 tmux 时保持密钥转发工作,但是我无法弄清楚如何让它继续为 tmux 中打开的会话工作。
例如,我有 bastion01、dbhost01、dbhost02、webhost01 和 webhost02。
如果我打开与 bastion01 的连接,请在那里启动 tmux,然后连接到 dbhost01 和 webhost01 转发工作。如果我关闭该连接,重新连接并附加我现有的 tmux 会话,然后将连接添加到 dbhost02 和 webhost02,密钥转发在 02 框上有效,但在 01 上无效。
请帮忙!
我试图screen从源代码在 RedHat上安装该命令。但是当我运行时configure,它返回了
configure: error: !!! no tgetent - no screen
Run Code Online (Sandbox Code Playgroud)
那么有没有人知道如何修复它?
通过阅读“构建无线传感器网络”一书,我了解到您可以使用 Screen 实用程序连接到串行控制台。我尝试使用它连接到 XBee 模块,它似乎工作正常,只是它没有在终端中回显本地键入的字符。到目前为止,我发现的唯一似乎有帮助的方法是使用 stty 实用程序在 tty 设备上设置“echo”选项,但更改似乎没有生效。我在 tty 设备上运行 stty 并通过它“echo”。如果我再次运行 stty 以打印出当前选项,它仍然显示“-echo”已设置。如果我对语法的理解是正确的,破折号表示该选项已关闭,没有破折号表示它已打开。我也试过用 sudo 设置 echo 选项,但那没有
我显然在这方面不是很了解,所以任何帮助将不胜感激。