Questions tagged «terminal»

终端是文本输入/输出的环境。在终端内部,运行命令行和文本模式程序(包括shell)。


3
调用与控制终端断开连接的命令/脚本?
我正在研究通常以自动化流程运行的脚本的行为(例如cron,Jenkins)。脚本可以(最终)调用以交互方式运行时行为不同的命令(寻求用户输入);例如,patch将询问如何处理反向补丁,并svn询问密码,但是我需要查看当它们非交互式运行时会发生什么。 说服patch它是非交互的是相当容易的。我只需要重定向stdout成为非tty: $ </dev/null > >(cat) /path/to/myscript --args 但是,svn将连接到控制端子(如果存在);否则将连接到控制端子。编辑脚本以通过--non-interactive不是一个真正的选择,因为它来自多个层次,很难确定我是否找到了每个调用。 有没有办法在没有控制终端的情况下(因此/dev/tty不存在)非交互地调用脚本/命令?我希望stdout / stderr仍然可以转到我的终端。 (我在非交互式外壳中找到了问题“运行脚本”吗?但是该问题的答案讨论了cron和用户环境之间的差异;我已经消除了除非交互性之外的所有差异。)

1
tmux状态行顶部有空白行?
我有一个不错的tmux状态行,但是我不喜欢bash / command沿它顺畅运行。也就是说,如果屏幕已满,我将在状态行上方输入内容。 我希望在其上方插入一个换行符,这样我输入的内容就不会“触及”状态行。有什么办法吗? 例: 假设我的终端窗口很小,只有两行 bash>$ (cursor) 1: bash* 2: bash- 3: vim- 我将如何获得空白行以将状态栏与提示分开,例如: bash>$ (cursor) 1: bash* 2: bash- 3: vim-
9 terminal  tmux 

2
如何更改语言环境/编码,以避免在终端中出现奇怪的字符?
tree当我从Putty连接到ubuntu盒子并启动时,我已经安装了它tree: $ tree âââ html.vim -> xml.vim âââ js.vim -> xml.vim âââ xml.vim 代替这个: $ tree --charset=ANSII |-- html.vim -> xml.vim |-- js.vim -> xml.vim `-- xml.vim 例如,当我列出来自npm(的软件包管理器nodejs)的软件包时,我也会遇到此问题 $ npm list /home/monkey/scripts/chatter ââ⏠express@3.0.6 â âââ buffer-crc32@0.1.1 â âââ commander@0.6.1 â ââ⏠connect@2.7.2 â â âââ bytes@0.1.0 我该如何更改(从Putty或linux box)?

1
基于$ TERM环境变量的emacs颜色
我想知道是否有可能使emacs在gnu屏幕或tmux会话中运行时使用与when相同的颜色TERM=xterm。在gnu屏幕或tmux会话中, TERM=screenemacs与when相比使用不同的颜色集TERM=xterm。 例如,当时TERM=xterm-256color,的前景色font-lock-comment-face是'Firebrick'。但是当时TERM=screen-256color,它将设置为“ chocolate1”。 为了使tmux正常工作,必须将TERM变量设置为screen或某些派生类,因此对我而言,重置TERM是不可选项。

3
Zsh:自动修改执行的命令
我最近通过MacPorts将grc(通用着色器)安装到了我的系统中,这使我能够获得默认情况下不支持的大量命令的彩色输出(请参见下面的屏幕截图)。 我想自动使用grc,但是不是针对特定命令,而是针对每个命令。我使用zsh作为我的外壳。 基本上,每当我执行时,command -parameter 1 2 3我都希望它自动以方式执行grc command -parameter 1 2 3。 我不希望使用别名,例如对的traceroute别名grc traceroute,因为我正在添加越来越多的grc着色命令。 我已经研究了.zshrc的preexec和precmd配置,但是我还没有找到实现所需功能的方法。
9 terminal  zsh  osx 

1
grep --color添加ANSI代码ESC [K-这可以更改显示的文本
为什么grep会\e[K在其彩色输出中添加ANSI代码?我看不出要点,但显然开发人员可以。这是ANSI / VT100终端代码,用于“从当前光标位置清除行到行尾”。 在边缘情况下,grep会导致文本从终端显示中“消失”。例如: echo -e "ab\rc" echo -e "ab\rc" |grep --color=always "c" 简单的回显显示:cb,但是彩色显示显示:c 底层的编码文本是:echo -e 'ab\r\033[01;31m\033[Kc\033[m\033[K' 但是,没有\e[K代码,则 echo -e 'ab\r\033[01;31mc\033[m'可以正常工作! grep包含这些\e[K代码的原因是什么?我正在编写一个脚本,以允许覆盖第二遍着色,如:c=--color=always; ls $c /bin/gzip | grep $c 'z'。所以我需要理解为什么grep使用\e[K。
9 terminal  grep  colors 


3
如何选择不接收广播消息?
我登录到大学系统后,一个非常烦人的n00b认为他或她是一些了不起的黑客,因为他或他可以使用管道向所有人广播对象转储。我敢打赌他们认为这很有趣,因为它看起来像矩阵。 我只是想知道是否有一种快速简便的方法可以选择不接收来自此用户的这些消息。对于所有用户来说,命令也将是什么(有时,当我陷入困境时,有时我不想收到消息)。
9 terminal 

3
强制telnet / ssh使用crtl-H退格
我有一些设备连接到Cisco序列服务器。当我telnet直接连接到Cisco上的端口时,许多设备工作正常。但是,Backspace由于默认情况下在telnet中映射了一些顽固的设备,它们将不使用。 如果很重要,我可以从rxvtDebian挤压(在X窗口中)进行telnet 。 TERM被设置为rxvt,但它不会不管我是否使用vt100,vt101或xterm...改变TERM没有效果。我TERM根据在旧的《柯米特常见问题解答》中看到的内容开始了变革之路。FWIW,stty erase ^h并stty erase ^?没有擦出火花。 我已经注意到,Backspace如果我使用来自netcat... 的原始TCP套接字,则可以在这些设备上正常工作nc 192.168.12.117 2006。但是,然后我遇到了其他问题,包括未隐藏的密码或终端分页。 如何有选择地强制telnet和ssh映射Backspace到CtrlH这些设备?另外,我应该使用什么标准来评估这是否是设备中的错误? 编辑 万一重要,这是有showkey -a问题的键的输出... ^?对应于Backspace和^H是CtrlH。当我看《 Linux键盘和控制台方法》时,似乎应该走近了,但我似乎无法破译我可以做些什么来改变这一点。我尝试了各种咒语,但loadkeys没有任何效果。 [mpenning@hotcoffee docs]$ sudo showkey -a Press any keys - Ctrl-D will terminate this program ^? 127 0177 0x7f ^H 8 0010 0x08 我也包括了相关的输出dumpkeys...这是系统中的当前映射(在某些有问题的设备上不起作用)。如果我能弄清楚如何Backspace做与相同的事情CtrlH,那么我将有一个解决方案。 [mpenning@hotcoffee docs]$ sudo dumpkeys | grep -Ei "backspace|127" keycode …


5
FreeBSD上的vim对箭头键和其他类似vi的行为没有正确反应
我试图在FreeBSD上使用vim(通过Linux xterm兼容终端上的ssh)。但是,vim的行为类似于现成的vi。例如,它对删除键不起作用,在插入模式下插入F字符而不是向上键等。 在FreeBSD X11上没有安装。 编辑:按要求我张贴vim --version # vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 28 2010 11:48:54) Included patches: 1-6, 8-35, 37-48, 50-70, 73, 75-87, 90-92, 94-100, 102-137, 139-149, 151-171, 173-190, 192-193, 195-203, 206-211, 213-215, 217-218, 220-232, 234-246, 251-259, 261-301, 303-319, 321-322, 324-335, 337-351, 353-361, …

5
在必要的目录中运行终结器,然后运行必要的命令
我想在特定目录(例如)中打开Terminator /home/downloads/,然后运行命令。 我通过此“自定义命令”完成了第一部分:cd /home/downloads; bash 终结者现在从该目录中启动,但是我该如何做第二部分? 既然终止程序已在downloads目录中启动,我想运行任何我想要的命令,例如lsor rake命令,或使用一些别名作为命令。我怎样才能做到这一点? 我在终结器中按鼠标右键,然后选择“参数”,“布局”,然后在“自定义命令”部分添加文本。 终止程序启动后,必须自动执行所有这些操作。

3
$ TERM的解释方式和位置?
我想知道某些内部魔术如何工作。 在使用docker容器时,$TERM未设置环境变量。这导致看起来奇怪的控制台应用程序(例如vim和tmux),但也导致CTRL + l(清晰屏幕)被忽略。 我很确定所有功能(例如部分屏幕更新,颜色,命令(例如屏幕重置)等)都使用转义码实现了,对吗? 那么,该变量在何处解释,并且如果在其中设置了正确的值,则允许使用CTRL + 1重置终端屏幕?谁来检查例如支持哪些颜色(xterm与xterm-256color)?贝壳?该应用程序还是像ncurses这样的库?在哪里定义可能的值/端子类型?

1
是否可以用指定的tty / pty打开终端
(我正在使用Ubuntu。)据我了解,tty只是一种端口。您输入了一些内容,它应该输出一些内容。终端(仿真器)是处理这些输入和输出的软件。从字面上看,终端可以选择要连接到的端口。 我在/ dev中看到了很多tty文件,在/ dev / pts /中看到了很多pts文件,但我不知道为什么会有这么多。它们都被使用了吗? 如果没有,我可以启动指定pty的终端机吗? 例如 gnome-terminal /dev/pts/47 更新资料 我这样做的原因是我想要一个远程终端。我知道合适的方法是使用ssh或telnet。 但是对于临时访问,这不是很方便。我想使用socat将tty或pty转发给客户端。然后,客户可以使用该pty或tty启动终端。 以下代码可以正常工作。它在客户端和服务器端执行,我得到“你好”。 echo "hello" > /home/myhomefoler/pty_created_by_socat
9 terminal  tty 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.