1 终端使用什么协议/标准? 我想知道命令行应用程序的“ GUI”如何通过网络进行通信。大多数时候,它很简单(纯文本/输入),但有时却更复杂(智能)。 它是否由某种标准定义,以便任何人都可以编写自己的终端,并且所有终端实现均以相同的方式运行(颜色,位置等)? 25 command-line terminal standard
1 是否有任何开源Linux终端和字体支持连字? 该PragmataPro字体有一些真正的杀手的例子,他们渲染==为单个字符,并清理了很多其他的东西。 有Linux终端会支持吗?还有PragmataPro的替代品吗? 25 terminal fonts terminal-emulator
4 是什么导致终端中的复制/粘贴有时执行命令? 在终端中粘贴某些命令时,它有时会自动执行该命令(就像按下“ Enter”键一样),有时则不会。 我使用Linux已有很长时间了,在许多发行版的各种控制台中粘贴了数千条命令,但我仍然无法确定我要粘贴的命令是否会自动执行。 是什么触发了这种行为? 24 terminal command clipboard
2 关闭连接后,如何远程终止称为“ tail -f”的终端? 我只是注意到,如果执行ssh user@remote_host tail -f /some/file,tail -f /some/file即使ssh连接已关闭,它也会继续在remote_host上运行! 因此,经过几次连接和断开连接后,运行次数会tail -f /some/file增加。tail -fssh连接关闭时如何实际终止? 24 ssh terminal process signals
2 内核模式设置与帧缓冲? 使用KMS,图形驱动程序将移入内核。由于帧缓冲区已经在内核中,所以我不希望这会影响帧缓冲区的操作。但是,我读到KMS取代了fb,增加了fb,需要fb,并且要求fb支持被删除。有没有搞错?我正在寻找的答案是对KMS与帧缓冲区之间关系的解释。 我一直在使用uvesafb在tty上获得本机分辨率。我的目的是了解如何在具有KMS的系统上工作。这也将有助于解决诸如此类的问题。.使用KMS滚动是否更快?fbterm和fbida之类的实用程序是否起作用?稳定性更好吗? 24 kernel terminal framebuffer kms
5 我正在使用`&`:为什么该进程未在后台运行? 我知道我可以追加&命令以在后台运行该过程。 我正在SSH进入Ubuntu 12.04机器并使用$python program.py &- 运行python程序,但是当我关闭终端窗口时,我收到一条消息,说关闭终端会终止正在运行的进程。 为什么是这样?我正在使用&符在后台运行该过程。无论我是否使用SSH,如何才能使其运行? 24 shell ssh terminal background-process processes
2 与编写新行相比,如何更改终端上行的内容? 因此,当wget获取网页时,它会显示一个状态栏,指示已下载文件的数量。看起来像这样: 25%[=============>______________________________________] 25,000 100.0K/s (下划线是空格;我只是想不出如何在其中获得多个连续的空格) 但是,它不会像往stdout那样写另一行并添加另一个进度条,而是像下面这样更新它: 50%[===========================>________________________] 50,000 100.0K/s 这wget也不是唯一的例子。例如,当您通过管道将某些东西less然后退出时,原始提示以及先前运行的所有命令的结果仍然存在。就像你从未离开过。 因此,我的问题是,这叫什么,如何实现它,它一次只能在一行中使用,我可以在C语言中使用它吗? 24 terminal
8 是否可以检查在哪里定义了别名? 别名,例如ll用alias命令定义的。 我可以用类似type ll打印的内容检查命令 ll is aliased to `ls -l --color=auto' 或command -v ll哪些印刷品 alias ll='ls -l --color=auto' 或者alias ll也可以打印 alias ll='ls -l --color=auto' 但我似乎无法找到那里的别名定义,即一个文件,如.bashrc在运行中的shell,或者手动。在这一点上,我不确定这是否可能。 我是否应该简单浏览所有加载的文件bash并检查每个文件? 24 bash terminal bashrc
6 启动zsh终端时默认情况下具有tmux加载 我当前的工作流程是: CTRL+ SHIFT+ T启动新的终端窗口。这将启动一个新的zsh终端。 键入tmux以启动tmux。 默认情况下,如何在新的终端窗口中加载tmux? 23 terminal zsh tmux
2 为什么我的桌面上运行六个getty进程? 我的桌面系统是: $ uname -a Linux xmachine 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 GNU/Linux 通过运行ps a | grep getty,我得到以下输出: 900 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4 906 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5 915 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2 917 tty3 … 23 linux terminal console
1 重用rsync --dry-run输出以加快稍后的实际传输速度 我通常rsync -n在做实际的事情前就做过rsync。问题是,我如何才能使第二轮运行自动化以完全重复使用生成的列表--dry-run? 我的意思是,如果我运行了,rsync -n然后得到了rsync将要执行的模拟操作,我的想法是获取该输出,对其进行处理,然后以某种方式rsync仅生成--include-from该输出,因此完整列表仅需计算一次。 如果这甚至没有道理,请告诉我。 顺便说一下,我倾向于使用rsync -hva --progress --stats --delete --exclude-from "$EXCLUDEFILE"。如果您对使用什么选项也有建议,请告诉我。我正在尝试将外部硬盘驱动器(仅包含图像,视频和文档)的内容复制到另一个外部硬盘驱动器。 23 text-processing terminal rsync
3 如何防止随机控制台输出破坏终端? SE上有许多问题,显示了如何从损坏的终端中恢复cat /dev/urandom。对于那些不熟悉此问题的人-这里的内容是: 您执行cat /dev/urandom或等效操作(例如cat binary_file.dat)。 打印垃圾。 没关系...除非您的终端即使在命令完成后仍继续打印垃圾!这是实际上是g ++输出的文本错误呈现的屏幕截图: 我猜人们对C ++错误有时过于神秘是正确的! 通常的解决方案是运行stty sane && reset,尽管每次发生时都运行它很烦人。 因此,我要重点关注的是发生这种情况的原始原因,以及在发出此命令后如何防止终端损坏。我不是在寻找诸如将有问题的命令传递到tr或的解决方案xxd,因为这要求您在实际运行/打印之前知道程序/文件输出二进制文件,并且每次输出此类数据时都需要记住该文件/二进制文件。 我注意到URxvt,PuTTY和Linux帧缓冲区中的行为相同,所以我认为这不是终端特定的问题。我的主要怀疑是随机输出包含一些ANSI转义代码,该代码会翻转字符编码(实际上,如果cat /dev/urandom再次运行,很有可能它将破坏终端,这似乎证实了这一理论)。如果正确,那么此转义码是什么?有禁用它的标准方法吗? 23 terminal escape-characters output
1 有彩色外壳输出手册吗? 您知道,特殊字符序列产生的彩色输出,例如: echo -e "\e[34m Hello\n \e[0m" 这将产生蓝色的单词“ Hello”。为此,我不得不在网上搜索,这很困难,因为不同的消息来源可能会说不同的话。我以为必须要有一些手册,但找不到。即使有apropos color或类似的东西。因此,问题是-在哪里可以找到可靠的手册? 23 terminal colors documentation
1 回滚和回滚缓冲区到底是什么? 像bash和中的程序中的“回滚”和“回滚缓冲区” screen是什么,它们与tty,正在运行的程序以及stdin / stdout / stderr有什么关系? 这是到目前为止(在archlinux wiki中)发现的“ scrollback”的唯一定义: Scrollback是在文本控制台中实现的功能,允许用户返回以查看滚动到屏幕之外的文本行。为此,可以在视频适配器和显示设备之间创建一个专门为此目的创建的缓冲区。回滚缓冲区。 但是,这给我提出了更多问题: 它是在“子例程”中还是在“功能”中表示“功能”? 此回滚缓冲区是否有Unix标准或API? 在程序的“堆栈”中,例如在终端仿真器vim中screen启动的bashLaunch in sshLaunch中,启动了在终端模拟器中启动的这些程序中的哪些程序? 我也用screen,以转储回溯到一个文件中。该文件的顶部有很多空白,并且看来终端仿真器向我显示的“视图”只是缓冲区的底部几行。 这就是为什么这样的程序vim可以临时访问父Shell的回滚缓冲区,从而“清除”整个终端窗口? 还是vim使用自己的回滚缓冲区(以某种方式覆盖在父级回滚缓冲区的顶部)? 23 shell terminal tty scrolling buffer
2 终端中的空白/背景可以替换为ASCII字符的随机(但漂亮)模式吗? 上下文和问题 有许多方法可以使终端和外壳环境着色。单个命令(例如ls和)的输出grep也可以被着色。在控制台上播放媒体的概念虽然没有直接关系,但很有趣,但这似乎依赖于窗口系统顶部的某些框架(库)。以下问题仅针对bashshell及其在Linux终端框架中的实现及其基础。 请考虑以下2D 游戏中场景的ASCII“渲染”蒙太奇: 这些不是随机生成的场景。我选择的所有段实际上都描绘了使用ASCII字符表示此类对象的游戏中某种形式的“草地”地形(树木,灌木丛,灌木,花卉,草等)。最后4个场景展示了用户制作的图块,这些图块基本上是具有颜色规格的ASCII字符的重新映射(这样的细节很简单-可以说这是我在视觉和[...图案”)。 蒙太奇共享中这些场景的共同特征是: 最多5-6个不同的ASCII字符(逗号,引号和其他一些字符) 使用2-4种颜色 对于字符 在某些情况下用于字符背景-最后一个示例在那里显示了使用具有很少或没有字符的颜色阴影来创建图案的方法,即颜色马赛克 目前,我在VM中拥有的是Arch Linux,尽管问题不是特定于发行版的,但我已经研究了他们的文档以自定义/etc/bash.bashrc文件。我可以看到,对于配置提示的外观以及通常所有的前台元素都有很多解释。除了通常的纯色之外,关于背景的任何配置的信息都很少,例如这些设置和提示: # Background On_Black='\e[40m' # Black On_Red='\e[41m' # Red On_Green='\e[42m' # Green On_Yellow='\e[43m' # Yellow On_Blue='\e[44m' # Blue On_Purple='\e[45m' # Purple On_Cyan='\e[46m' # Cyan On_White='\e[47m' # White 我仍然没有从概念上掌握使用控制台时没有输入的空白/空白/背景“空格”,即“它们是由什么组成的?” 可以这么说。尤其是那些不在提示符下且环绕回显命令的命令。关于活动行上发生的事情,有可能演示bash以“面向行”的方式执行操作,并且某些操作触发清除活动行(for i in $(seq 1 $(expr $(tput lines) \* $(tput cols))); … 23 bash terminal colors tty