标签: gnu-screen

使用tmux有什么好处?

使用tmux或有screen什么好处?你能提供一些能够立即改善我工作流程的简单例子吗?(我使用SSH).此外,我很乐意将此问题标记为"社区维基",但我不确定如何.

gnu-screen tmux

11
推荐指数
0
解决办法
1万
查看次数

如何保留从常规终端到gnu屏幕的emacs颜色

我正在使用OSX雪豹,以备记录.

当我直接从终端使用emacs时,我有一个颜色设置(例如c/c ++),我很满意 - 绿色黑色,红色评论,彩色关键词等等.其中一些是在我的'终端首选项'中设置,有些在我的〜/ .emacs文件中(见下文).当我从屏幕运行emacs时,基本颜色方案是相同的(绿色黑色),但着色是不同的(例如注释字符是红色,但不是整个评论) - 并且真的很烦人.

任何帮助,将不胜感激!

在我的'.emacs'文件中(这在gnu-screen emacs中停止工作):

(global-font-lock-mode t)
(custom-set-faces
 '(font-lock-comment-face
   ((((class color) (background light))
     :foreground "tomato")
    )))
Run Code Online (Sandbox Code Playgroud)

在我的'.screenrc'文件中:

shell -$SHELL            # colors still don't work without this
#term xterm-256color    # using this doesn't fix the colors (suggested on some forums)

altscreen on
startup_message off
Run Code Online (Sandbox Code Playgroud)

我认为我的.screenrc文件中的命令'shell - $ SHELL'使得屏幕上的命令提示符与默认命令相同 - 它确实使我的命令行说'computername:/ DIR/username $'而不仅仅是'庆典-3.2 $"

================================================== ===============

解决方案:感谢Greg E.

我需要在屏幕上设置我的终端模拟器以匹配我的普通shell.为此,我补充道

export TERM='xterm-color'
Run Code Online (Sandbox Code Playgroud)

到〜/ .bash_profile

出于某种原因,'〜/ .screenrc'文件中的'term xterm-color'不起作用.

macos emacs terminal gnu-screen colors

11
推荐指数
1
解决办法
4769
查看次数

将ctrl-c发送到特定的屏幕会话

我正在设计一个脚本来在命名的屏幕会话中启动进程.

as_user "screen -p 0 -S **$command** -X eval 'stuff \"wine LFS.exe /cfg=**$command**.cfg\"\015'"
Run Code Online (Sandbox Code Playgroud)

因此,bash myscript.sh start test将创建一个名为test的屏幕并test.cfg使用该软件运行.

现在我希望我的脚本访问特定的屏幕会话并执行CTRL+ C以停止正在运行的进程,以便我可以终止屏幕会话.

像这样的东西:

as_user "screen -p 0 -S **$command** **... kill the process with ctrl-c...**"
as_user "screen -p 0 -S **$command** -X eval 'stuff \"exit\"\015'"
Run Code Online (Sandbox Code Playgroud)

shell gnu-screen sigint

11
推荐指数
1
解决办法
1万
查看次数

emacs跟踪一个不可靠的连接

我想运行R一个远程下一个盒子地方 Emacs(我希望在远程机器上运行的Emacs).

我可以R使用TRAMP以下命令在远程主机上运行:

(let ((default-directory "/user@remote:~"))
  (R))
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当连接remote丢失时,R死亡.这并不好,因为这意味着我必须在重新R启动后重新加载所有数据,这需要时间.

是否有可能告诉TRAMP使用持久终端?(GNU ScreentmuxMoshdtach)

另请参见emacs-develthread tramp:sshx:(screen | tmux).

emacs r gnu-screen tramp tmux

11
推荐指数
2
解决办法
1514
查看次数

如何在linux中以编程方式分离屏幕?

这个问题是关于linux实用程序屏幕的.

我想创建一个脚本来启动屏幕中的程序,然后在启动后自动将其分离.

我有脚本启动屏幕,在屏幕上启动命令,但我现在的问题是如何分离它?

谢谢

linux terminal gnu-screen

10
推荐指数
1
解决办法
5300
查看次数

emacs shell模式下的Gnu屏幕:如何修复颜色转义码

我想在shell模式下在emacs中附加screen或tmux.我经常发现自己在远程服务器的屏幕内运行带有劣质进程的emacs; 如果我可以将工作流程转移到本地emacs + TRAMP,那就太好了; 但是,必须具备重新连接持久会话的能力.(这种工作流程对R [1]中的分析特别有用)

Shell模式是相当可取的,因为我在使用Mx术语或Mx ansi-term + screen + R的组合时遇到了各种故障甚至崩溃.但是,我似乎无法摆脱ansi彩色渲染为转义码在Mx shell下运行时的屏幕.当我使用时ansi-color-for-comint-mode-on,它们很好 - 但是一旦屏幕出现,就会变得非常混乱.

有没有人想出用shell + screen或tmux正确解释ansi颜色的条件?如何完全摆脱颜色?在运行持久性远程进程并将它们附加到本地emacs方面还有其他选择吗?

[1] http://blog.nguyenvq.com/2010/07/11/using-r-ess-remote-with-screen-in-emacs/

emacs gnu-screen tmux

10
推荐指数
1
解决办法
2405
查看次数

GNU Screen和Vim:使用鼠标调整分割窗口缓冲区大小

使用Vim在GNU屏幕上工作时,我无法使用鼠标调整分割窗口大小.其余全鼠标操作在Vim的正常工作(滚动,用鼠标选择文本等).我一般都se mouse=n在我.vimrc.调整GNU屏幕外的窗口缓冲区大小非常好.

这是vim信息:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jan 19 2012 18:05:29)
Included patches: 1-401
Compiled by root@arun-mu
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -conceal +cryptv +cscope +cursorbind
+cursorshape +dialog_con +diff +digraphs -dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path +find_in_path +float +folding -footer +fork() +gettext -hangul_input -iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent …
Run Code Online (Sandbox Code Playgroud)

vim gnu-screen

10
推荐指数
2
解决办法
2264
查看次数

通过创建新的屏幕窗口附加到"屏幕"会话

我有一个运行多个窗口的屏幕会话.我想附加它,在其中创建一个新的屏幕窗口并在该新窗口中启动一个shell.

问题:如何从屏幕会话外的命令行执行此操作?

我已经尝试了很多,例如screen -x(但它附加到现有的一个屏幕窗口;它不会创建一个新窗口,也不会启动一个新的shell).任何提示都是受欢迎的.

环境是Linux(Ubuntu 12.04).

linux shell gnu-screen detach

10
推荐指数
3
解决办法
1万
查看次数

Shell脚本启动具有多个窗口的1个会话

我对shell脚本很新(你可能会说我刚开始).我需要的是编写一个shell脚本来打开1"屏幕"会话.然后我想在同一个会话中打开多个窗口(比如说10个)并让每个会话做一些事情,例如打印"你好".所以这是我的代码的一部分,但它只创建一个窗口(0),并且不会在该窗口上打印任何内容:

#!/bin/bash
screen-d -m -S mysession
for n in {1..10}; do
    i=$(($n-1))
    screen -S mysession -p $i -X echo "hello"
done
Run Code Online (Sandbox Code Playgroud)

就像我说的,我的示例代码不起作用!它打开一个只有一个窗口'0'的会话,并且在窗口'0'上的终端上没有打印任何内容.

你能帮我个忙吗?该代码应该打开一个屏幕会话,然后在循环中打开10个窗口并在每个窗口中打印"hello".

先感谢您!

阿贝丁

bash shell gnu-screen

10
推荐指数
1
解决办法
6140
查看次数

PHP tmux和屏幕行为不正确(没有启动,没有新会话,没有新窗口)

我在php中遇到tmux/screen问题.
当我尝试启动屏幕会话时没有任何反应.
当我尝试启动一个tmux会话时,它只有在我给www-data shell访问时才有效,即便没有添加窗口:(

我想要实现的目标:
我想为我在虚拟机上运行的某些进程编写Web接口.
为此,我写了一些脚本(因为我在linux debian机器上,所以在bash中).
这些脚本需要做一些事情:
- 启动一个新的tmux窗口(和会话,如果它还不存在)
- 查看tmux窗口是否正在运行/活动
- 停止进程(自动关闭窗口)
手动执行(在终端)这些脚本表现得很好.

现在,webinterface将启动这些脚本(因此它们将通过php中的exec函数执行).

由于它们运行在php上,因此它们以用户www-data运行,因此我无法访问由www-data创建的tmux会话.

所以我在启动Window/session时有一些建议:

  • 我有一个命名会话

    tmux new-session -s $ SessionName

  • 它需要从php开始分离

    tmux new-session -d -s $ SessionName

  • 我希望能够以超级用户身份访问会话 - >我必须定义一个socketlocation

    tmux -S $ SocketLocationPath new-session -d -s $ SessionName

所以我的命令最终看起来像这样:

tmux -S /tmp/pairedsession.socket new-session -d -s "ProcessGroup1"
Run Code Online (Sandbox Code Playgroud)

此命令有问题:

  • 没有shell访问权限,此命令返回无法连接到服务器(因为新会话通常应该启动服务器,所以很奇怪)

  • shell访问(出于安全原因我不喜欢)然而会话是按照我想要的方式创建的

但仍有一些问题:

正如我之前所说,我想创建一些窗口来处理进程
命令如下所示:

tmux -S $SocketLocationPath new-window -t "$SessionName" -n "$WindowName" "$cmd"
Run Code Online (Sandbox Code Playgroud)

这只适用于全局进程(如htop)或php目录中的进程(就像其他脚本一样)
我想要做的是在自己的工作目录中执行一个进程,该目录不一定在php目录中 - > 如何使用我改变了

我尝试了什么

  • 为每个调试命令添加2>&1 …

php apache bash gnu-screen tmux

10
推荐指数
1
解决办法
820
查看次数

标签 统计

gnu-screen ×10

tmux ×4

emacs ×3

shell ×3

bash ×2

linux ×2

terminal ×2

apache ×1

colors ×1

detach ×1

macos ×1

php ×1

r ×1

sigint ×1

tramp ×1

vim ×1