+ -
当前位置:首页 → 问答吧 → 一个关于tty,X,urxvt的问题。

一个关于tty,X,urxvt的问题。

时间:2010-06-25

来源:互联网

问题是这样的:

系统(用alternate cd装的ubuntu 10.04)
我用slim登陆,terminal emulator是urxvt。

有的时候,当我在urxvt上输入东西的时候,同样的内容
会被输入到tty1上。

比方说,我进了X之后开一个urxvt。
然后在urxvt里vim xx.file。同时tty1上就会vim xx.file,结果
vim自动创建一个.xx.file.swp,而我在urxvt上就会看到vim报
swp文件已经存在。。。。。。

那个,怕我对linux和tty的理解不到位。我说的tty1上的内容,是指
我按Ctrl + Alt + F1调到tty1上看到的,直接可以看到我本来在urxvt
上执行命令的输出。。。

作者: twando   发布时间: 2010-06-25

自己顶上去。。。拜托,真的是求救。。。
这个问题解决不了影响太大了。。。。
--------------------------------
顺便补充,以前用xterm也会有类似的问题。

作者: twando   发布时间: 2010-06-25

X下打开打的应该是虚拟终端,指向设备pts/0这样的...楼主没w一下帖出来看看

作者: liwangli   发布时间: 2010-06-26

引用:
作者: liwangli
X下打开打的应该是虚拟终端,指向设备pts/0这样的...楼主没w一下帖出来看看
在urxvt里用w或者who,都是我的用户在tty1。这样正常吗?我对这个实在不太清楚。。

我都怀疑是不是从slim这里就开始出问题,按键信息不光丢给了X,还丢到了tty1那里。

有的时候,在slim里面第一遍输用户名/密码没输对,加上打字比较快,结果就会出现我用slim进入图形界面,而tty1那里尽是我在urxvt里输入的东西(乱七八糟),而始终在login阶段。
-------------------------------------------
不用slim而先进console再startx完全没有问题。。。。
-------------------------------------------
还好,前面找到了另一个非常lightweighted的login manager, "enter"。
对我勉强够用。。。用这个目前也没类似的发现问题。。。

所以我想大概还是和slim有关吧。。。。

作者: twando   发布时间: 2010-06-26

看了下wiki。。。似乎因为我没有配置slim.conf,所以用slim登陆正常应该是w和who没有输出才对?

作者: twando   发布时间: 2010-06-26

echo sssss > /dev/tty看看有什么效果...

作者: liwangli   发布时间: 2010-06-26

引用:
作者: liwangli
echo sssss > /dev/tty看看有什么效果...
我先用slim进入图形,开一个urxvt,sudo su -之后执行那条命令。
urxvt里没有显示。

然后用Ctrl + Alt + F2,到tty2,在 Alt + F1到tty1,结果看到

引用:
# echo ssss > /dev/tty1
ssss

作者: twando   发布时间: 2010-06-26

不,是/dev/tty,后面没有数字./dev/tty是关联到当前会话的控制终端的,这么做是想看看当前的会话控制终端到底是哪个.看看到底是哪个有输出

作者: liwangli   发布时间: 2010-06-26

引用:
作者: liwangli
不,是/dev/tty,后面没有数字./dev/tty是关联到当前会话的控制终端的,这么做是想看看当前的会话控制终端到底是哪个.看看到底是哪个有输出
抱歉。。。前面看错了。。。

这样的结果是,urxvt里和tty1里都会有一样的

引用:
#echo ssss > /dev/tty
ssss

作者: twando   发布时间: 2010-06-26

有些窗口管理器可以指定X Server绑定到哪个终端设备(/dev/ttyX),如果配置文件写错了或者出于某种原因窗口管理器检测空闲tty设备出错就会导至楼主所说的问题,你看一下ps的输出,/usr/bin/X的命令行参数有没有带上tty2之类的参数。

作者: lifc   发布时间: 2010-06-26

引用:
作者: lifc
有些窗口管理器可以指定X Server绑定到哪个终端设备(/dev/ttyX),如果配置文件写错了或者出于某种原因窗口管理器检测空闲tty设备出错就会导至楼主所说的问题,你看一下ps的输出,/usr/bin/X的命令行参数有没有带上tty2之类的参数。
我的窗口管理器是Openbox,不清楚相关设置好。。。

倒是slim的配置文件可以放xserver的参数,我曾经试过加上vt07这个参数,但是没有用,问题依旧。

作者: twando   发布时间: 2010-06-26

用root用户执行ls -l /proc/`pgrep X`/fd,看X server打开的是哪个tty设备。我的系统“6 -> /dev/tty3”,表示描述符6对应/dev/tty3这个控制台,如果你是tty2说明之前猜测属实。
你系统当前X命令行参数是什么?另外pacman -Ql openbox|grep /etc/X11/查一下对应的配置文件。

作者: lifc   发布时间: 2010-06-27

引用:
作者: lifc
用root用户执行ls -l /proc/`pgrep X`/fd,看X server打开的是哪个tty设备。我的系统“6 -> /dev/tty3”,表示描述符6对应/dev/tty3这个控制台,如果你是tty2说明之前猜测属实。
你系统当前X命令行参数是什么?另外pacman -Ql openbox|grep /etc/X11/查一下对应的配置文件。
我这里是 7 -> /dev/tty1

X的参数是
/usr/bin/X :0 -auth /tmp/Xauthority
-----------------------------
这是ubuntu 10.04这出的问题。。。。arch那里因为不用slim所以没试。
X的版本是1.7.5不过是ubuntu改了的。
openbox的配置文件似乎没有设置这方面的地方。

作者: twando   发布时间: 2010-06-27

真的很谢谢各位的帮助。不过我实在是经不起折腾了。。。
而且最近X又开始经常性的crash。。。。。。

我还是把这里的系统换回以前用了比较长时间的
ubuntu 9.04,毕竟这是拿来英语学习用的,
拖太久一直用不成我实在是受不了了。

有机会我再到arch下看看有没有问题吧。。。。。。

作者: twando   发布时间: 2010-06-27