Questions tagged «tty»

异步发送和接收串行数据的设备的表示形式。

1
如何读/写tty *设备?
我有一台通过USB将信息发送到我的计算机的设备。Arch Linux的创建一个名为文件设置该设备ttyUSB0在/dev/。我一直在使用GTKterm接收此传入的信息并将其显示在模拟的终端窗口中。 我的问题是,如何精确地GTKterm读/写该ttyUSB0文件,我应该从哪里开始学习如何实现类似的功能?也就是说,以最基本的形式,我如何将字符写入ttyUSB0,或者相反,如何接收字节并将其写入文件?
29 usb  tty 

3
如何在tty和xorg会话之间切换
我的xorg会话tty1上,如果我要发出从tty的命令(因为我不能因为某些原因从xorg的会议做),我按Ctrl+ Alt+ F2,例如,然后键入命令。但是我不能从任何tty启动图形应用程序,除非先启动,因为其中没有xorg会话。然后我很好奇如何在运行xorg会话的情况下切换到tty1并返回到该会话?
28 linux  xorg  tty 

5
如何获取运行bash的tty?
在此页面提出的第二种方法中,使用以下命令获取正在运行bash的tty: ps ax | grep $$ | awk '{ print $2 }' 我个人认为这确实有点懒,列出所有正在运行的进程只是为了提取其中一个。这样做会不会更有效(我也在问这是否会带来不良影响)? ps -p $$ | tail -n 1 | awk '{ print $2 }' 仅供参考,我遇到了这个问题,因为有时第一个命令实际上会产生两行(或更多行)。当会有另一个进程运行包含PID $$作为子字符串的PID时,这将是随机发生的。在第二种方法中,我通过请求我知道自己想要的PID来避免此类情况。
24 bash  tty  ps 

2
设置tty的波特率
如何设置特定tty(在本例中为串行端口)的波特率?我尝试使用 stty -F /dev/tty.iap ispeed 19200 但是Invalid argument,除了9600(默认值)以外,我尝试的每种速度(2400、4800等)都会出错。我可以使用在C程序中成功更改速度cfsetspeed。我是否需要在其他地方进行更改,例如ttys文件?

2
为什么从管道读取时awk会做全缓冲
我正在从连接到发送nmea字符串的gps设备的串行端口读取。 一个简化的调用来说明我的观点: $ awk '{ print $0 }' /dev/ttyPSC9 GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 如果我改为尝试从管道读取,awk会将输入发送到stdout之前先对其进行缓冲。 $ cat /dev/ttyPSC9 | awk '{ print $0 }' <long pause> GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 如何避免缓冲? 编辑:凯尔·琼斯(Kyle Jones)建议,猫正在缓冲它的输出,但是这似乎没有发生: $ strace cat /dev/ttyPSC9 | awk '{ print $0 }' write(1, "2,"..., 2) = 2 read(3, …
23 awk  tty  serial-port 

1
回滚和回滚缓冲区到底是什么?
像bash和中的程序中的“回滚”和“回滚缓冲区” screen是什么,它们与tty,正在运行的程序以及stdin / stdout / stderr有什么关系? 这是到目前为止(在archlinux wiki中)发现的“ scrollback”的唯一定义: Scrollback是在文本控制台中实现的功能,允许用户返回以查看滚动到屏幕之外的文本行。为此,可以在视频适配器和显示设备之间创建一个专门为此目的创建的缓冲区。回滚缓冲区。 但是,这给我提出了更多问题: 它是在“子例程”中还是在“功能”中表示“功能”? 此回滚缓冲区是否有Unix标准或API? 在程序的“堆栈”中,例如在终端仿真器vim中screen启动的bashLaunch in sshLaunch中,启动了在终端模拟器中启动的这些程序中的哪些程序? 我也用screen,以转储回溯到一个文件中。该文件的顶部有很多空白,并且看来终端仿真器向我显示的“视图”只是缓冲区的底部几行。 这就是为什么这样的程序vim可以临时访问父Shell的回滚缓冲区,从而“清除”整个终端窗口? 还是vim使用自己的回滚缓冲区(以某种方式覆盖在父级回滚缓冲区的顶部)?

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 

5
获取SSH转发信号
我希望能够通过ssh发送信号(SIGINT最重要)。 该命令: ssh server "sleep 1000;echo f" > foo 将开始在服务器上进入睡眠状态,并在1000秒后将“ f \ n”放入本地计算机上的foo文件中。如果按CTRL-C(即,将SIGINT发送到ssh),它将杀死ssh,但不会杀死远程服务器上的睡眠。我希望它杀死远程服务器上的睡眠。 所以我尝试了: ssh server -t "sleep 1000;echo f" > foo 但是,如果stdin不是终端,则会出现此错误: Pseudo-terminal will not be allocated because stdin is not a terminal. 然后SIGINT仍然不转发。 所以我尝试了: ssh server -t -t "sleep 1000;echo f" > output 但是然后foo中的输出不是'f \ n'而是'f \ r …
22 ssh  remote  tty  signals 

9
如何停止光标闪烁
blinking在TTY中如何使光标停止?(或其他任何地方)。 一项通用设置的奖励点,使光标几乎在所有位置都停止闪烁。
22 tty 


2
单击GNU屏幕怪异字符
我在GNU屏幕上有一个小问题。一个GNU屏幕会话在我的RaspberryPi上运行。现在有时候,当我加入它时,如果单击终端(我在Fedora上使用终结符),我会看到奇怪的字符。这些字符取决于我的鼠标的坐标……似乎是对发送到GNU Screen的click事件的错误解码。这些字符包括类似 kM#kM - Z3#Z3 - q-#q- 等等… 我最初以为这是我的问题,tty所以我在RaspberryPi上打开了一个新的GNU Screen会话:完全没有问题。 我stty -a在两次会议上都做了一次,发现有区别。然后,我 stty -g > ~/stty-good-settings在良好的会话上执行了一个操作,然后将其加载到不良的会话上stty `cat ~/stty-good-settings`(我比较了这些值,然后成功加载了设置),但是在一个屏幕会话中却仍然存在问题,而在另一个屏幕会话中却没有问题! 我不确定发生了什么,如果这是由于我的TERM值(两者相同),我的tty设置,我的终端…
21 gnu-screen  tty  xterm 

4
为什么我的虚拟控制台完全空白?
当我从图形会话去通过虚拟主机Ctrl+ Alt+ F i(与我在1 - 7和9-12)我看到一个完全黑屏。仅在F8上,我看到GUI。甚至没有其他人眨眼的提示。当我输入任何东西时,我什么都看不到。 有什么问题,我该如何解决? 我的系统 $ uname -a Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/issue Linux Mint 17 Qiana \n \l $ lspci | grep VGA 01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan …
19 tty 


2
如何在Jenkins的Docker容器中运行构建
我正在尝试使用Jenkins在Docker容器中构建C ++项目。我在Jenkins或在Jenkins之外的容器中构建都没有问题。 下面是我尝试过的。为了清楚起见,我省略了卷映射。 情况1 以下命令在外壳中成功运行了构建。 docker run --rm --interactive=true --tty=true $IMAGE make 但是,当在Jenkins中作为“执行外壳程序”步骤运行时,Docker返回以下错误。 cannot enable tty mode on non tty input 情况二 以下命令与上一个命令相似,但是禁用了交互性。 docker run --rm $IMAGE make Jenkins可以成功运行构建。但是,中止构建时存在严重问题。该构建立即被标记为已中止,但是容器一直运行直到构建完成。退出后,也不会移除容器。 在shell中运行时,命令会成功构建,但是无法中断它。退出后,容器也将被取出。 题 有谁知道如何在Jenkins的Docker容器中干净地运行构建并保留中止构建的功能吗? 不能选择使用任何Jenkins插件,因为Docker调用位于脚本内并且无法轻松提取。
18 tty  docker  pty  jenkins 

1
外接显示器上的TTY
在家里使用笔记本电脑时,通常将笔记本电脑的屏幕与外接显示器,键盘和鼠标一起用作第二台显示器。所有这些都可以使用一个不错的GNOME实用程序轻松配置,我假设该实用程序在后端使用xrandr。 有时我喜欢通过TTY使用计算机。我希望能够切换到TTY1(使用ctrl + alt + f1),并以外接显示器的分辨率将tty出现在外接显示器上。而是,它通常只出现在我的笔记本电脑屏幕上,或同时出现在两个显示器上,但以笔记本电脑屏幕的分辨率显示。 无论如何,在Ubuntu 10.10上可以无缝地做到这一点吗? (我猜这没关系,但是我将其设置为使屏幕从自动启动~/.profile)。

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.