我有一个奇怪的硬件情况,我遇到了一个奇怪的软件怪癖。我有一台屏幕坏了的笔记本电脑,我已将其连接到外部显示器。我启动一个 X 会话并打开一个 urxvt 终端。使用URxvt.letterSpace: -1Xresources 文件中的设置,终端中的文本显示如下:

现在我不希望损坏的内置屏幕仍然亮着,所以我用以下行禁用它:
xrandr --output LVDS1 --off
Run Code Online (Sandbox Code Playgroud)
如果我现在打开一个新终端,文本会像上面一样显示。但是在登录/dev/tty2然后返回到我的图形 X 会话并打开一个新终端后,文本显示如下,字母间距比以前更紧:

重新加载我的 Xresources 文件并不能解决这个问题。但是,增加的价值URxvt.letterSpace来自-1于0再重装确实出现了返回字母间距是什么它最初,如此看来冥冥中,登录后/dev/tty,-1被添加到我的字母间距的额外费用。
为什么会发生这种情况?为什么要/dev/tty像这样减小字母间距?
让我们运行cat然后输入athen ^D- 你会看到cat没有退出。
与cat+ a+ Enter+比较^D- 现在 cat 确实退出了。
那么,为什么在第一种情况下^D需要按两次退出cat,而^D在第二种情况下只需要按一次?
在非图形控制台 (<Ctrl><Alt><F...>) 和 X 会话之间复制/粘贴的最快方法是什么?
现在 :
有没有更简单的方法来做到这一点?非 X 控制台和 X 会话的主要选择是否可以合并?理想情况下,我想在控制台中选择文本,然后切换到 X 会话并粘贴它(单击鼠标中键)。这可以做到吗?
我日常工作中最悲惨的方面之一是需要偶尔调查分散在世界各地无法通过网络访问外部世界的偏远地区的机器的问题。有时,本地员工可以通过 3G 或类似的调制解调器进行连接以提供访问权限,但由于缺乏信号或缺乏现场技术能力,这通常是不可能的。在这些情况下,我必须打电话给任何可以与我一起工作的本地技术人员(或有时看门人),输入我背诵给他们的命令并响应输出,通常是有限或没有 linux 甚至计算机的人经验。通常,让更合格的技术人员到现场需要包机。
我可以确认,通过在 vi 中编辑文件来与不知道“斜线”和“反斜线”之间区别的人交谈,如何按住 shift 以生成冒号而不是分号是非常痛苦的。“好的,现在它显示一个波浪形的东西,然后是一种看起来很奇怪的线条,然后是另一个波浪形的东西”。哦,它用某种我没有读过的错误消息向我发出哔哔声。
基本上,我将现场人员用作非常慢的电话-> 终端转换器,错误率非常高。我的想法是去掉中间人,在电脑上使用扬声器和麦克风,并告诉技术人员将他们的手机放在机器上,然后将其用作非常老式的声学耦合“调制解调器”,我会在哪里在我的电脑上运行一个终端程序,它将我的线路转换成一些音调序列,这些音调序列可以通过电话传输到 Linux 机器,然后转换回命令,然后将其输出转换为音调,返回电话等,实际上为我提供了一个非常慢的终端。有几种传输数据的方法可能会在手机传输中幸存下来,例如摩尔斯电码或奥利维亚模式。
我希望获得有关包的信息以整体完成此任务,或作为可用于构建此解决方案的各个部分,或提供有关如何完成此任务的其他想法。除了前面提到的可能用作传输协议的“OliviaMode”外,谷歌没有任何用处。
我一直在阅读Advanced Linux Programming 一书,它提到了虚拟终端,如果我理解正确的话,它是 Linux 特定的功能(不在 Unix 中),允许在非 X11 系统中使用多个登录控制台。您可以通过按 ALT-F2 来创建虚拟终端。我正在运行 Linux Mint 并在我的 /dev 文件夹中,尽管我看到许多 tty 设备,但我不知道它们的用途。这是grepped的输出:
crw-rw-rw- 1 root tty 5, 0 Jan 2 19:45 tty
crw--w---- 1 root tty 4, 0 Jan 2 19:10 tty0
crw-rw---- 1 root tty 4, 1 Jan 2 19:10 tty1
crw--w---- 1 root tty 4, 10 Jan 2 19:10 tty10
crw--w---- 1 root tty 4, 11 Jan 2 19:10 tty11
crw--w---- 1 root tty 4, 12 Jan 2 19:10 …Run Code Online (Sandbox Code Playgroud) 默认情况下,当我在 tty 中登录我的 Arch linux 框时,在我输入用户名之后但在我输入密码之前会超时。
所以它是这样的
Login: mylogin <enter>
Password:
(+ 60 seconds)
Login:
Run Code Online (Sandbox Code Playgroud)
如您所见,如果我不输入密码,它会回收提示——我希望它无限期地等待我的密码,而不是回收登录提示。
这可能吗?
似乎--timeout选择agetty将是我想要的。但是,我尝试在 getty 文件中添加此标志/usr/lib/systemd/system/(默认情况下不使用该选项),然后重新启动 - 它似乎没有任何效果。
我想将bash命令提示符输入保留在屏幕顶部,以便将旧命令的输出向下推而不是向上推。
我怎样才能做到这一点?
我有一个与grep -v查询相关的奇怪问题。请允许我解释一下:
要显示我使用的连接who:
$ who
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
Run Code Online (Sandbox Code Playgroud)
tty我的终端的电流是pts/0
$ tty
/dev/pts/0
$ tty | cut -f3-4 -d'/'
pts/0
Run Code Online (Sandbox Code Playgroud)
我尝试使用grep -v $(tty | cut -f3-4 -d'/'). 这个命令的预期输出应该是who,没有我的连接。然而,输出是最出乎意料的:
$ who | grep -v $(tty | cut -f3-4 -d'/')
grep: a: No such file or directory
grep: tty: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我将$(...)引号括起来,这似乎解决了“没有这样的文件或目录”问题。但是,即使我的 tty ( pts/0) …
我正在尝试将一些十六进制值发送到 tty 端口/dev/ttyS2。当我使用echoorprintf \x0A它会\x0D在\x0A.
i=1
a=$(printf "\xAA\xEE\x0A\x%02x" $i)
echo -ne "$a" > /dev/ttyS2
Run Code Online (Sandbox Code Playgroud)
我在终端/串行端口上得到了这个——注意额外的 0D。我怎样才能删除它?