标签: tty

在所有正在运行的 X 显示器上显示通知

使用命令行,我想在每个正在运行的 X 显示器上显示通知。(和运行控制台)

就像是:

notify-send-all 'Warning' 'Nuclear launch in 5 minutes, please evacuate'
Run Code Online (Sandbox Code Playgroud)

有没有程序可以做到这一点?如果没有,这可以用bash实现吗?

command-line xorg notifications tty console

19
推荐指数
2
解决办法
2万
查看次数

外部监视器上的 TTY

在家里使用笔记本电脑时,我通常使用外接显示器、键盘和鼠标,将笔记本电脑的屏幕作为第二台显示器。这一切都可以使用一个不错的 GNOME 实用程序轻松配置,我假设该实用程序在后端使用 xrandr。

有时我喜欢通过 TTY 使用我的电脑。我希望能够切换到 TTY1(使用 ctrl+alt+f1)并让 tty 以我的外接显示器的分辨率出现在我的外接显示器上。相反,它通常要么只出现在我的笔记本电脑屏幕上,要么出现在两个显示器上,但以我的笔记本电脑屏幕的分辨率出现。

有没有办法在 Ubuntu 10.10 上无缝地做到这一点?

(我猜这无关紧要,但我已将其设置为使屏幕从 自动启动~/.profile)。

tty multi-monitor console

19
推荐指数
1
解决办法
8380
查看次数

如何在 Jenkins 的 Docker 容器中运行构建

我正在尝试使用 Jenkins 在 Docker 容器中构建 C++ 项目。我在 Jenkins 中构建或在 Jenkins 之外的容器中构建都没有问题。

以下是我尝试过的。为清楚起见,我省略了卷映射。

情况1

以下命令在 shell 中成功运行构建。

docker run --rm --interactive=true --tty=true $IMAGE make
Run Code Online (Sandbox Code Playgroud)

但是,当在 Jenkins 中作为“执行 shell”步骤运行时,Docker 会返回以下错误。

cannot enable tty mode on non tty input
Run Code Online (Sandbox Code Playgroud)

案例二

以下命令与前一个命令类似,但禁用交互性。

docker run --rm $IMAGE make
Run Code Online (Sandbox Code Playgroud)

Jenkins 可以成功运行构建。但是,在中止构建时会出现严重的问题。构建会立即标记为中止,但容器会继续运行,直到构建完成。退出后容器也不会被移除。

在 shell 中运行时,命令会成功构建,但无法中断它。退出后容器也会被移除。

有谁知道如何在 Jenkins 的 Docker 容器中干净地运行构建并保留中止构建的能力?

使用任何 Jenkins 插件都不是一种选择,因为 Docker 调用在脚本内部并且无法轻松提取。

tty jenkins pty docker

19
推荐指数
1
解决办法
2万
查看次数

通过将字符串放入 tty 来构造命令

我设法做到了

echo -n "命令" > /dev/tty1

字母出现,光标移动,但它们是“幽灵”——如果你点击Enter,没有任何反应(它们不在标准输入中)。

编辑:

在下面屏幕截图的中间,你明白为什么我看到了这个的使用。(带有红色标题的行,就在带有黄色标题的行的正下方。)就像现在一样,您并没有真正“编辑”注释文本;你只是被要求写一个新的文本,它将替换你正在(不是真的)编辑的笔记的文本。因此,我认为可以通过简单地将旧文本粘贴到 tty 中来补救:如果用户点击 Enter,则不会进行任何修改。(该程序在 Perl/MySQL 中,但我认为寻求通用解决方案比“我如何在 Perl 中执行此操作”更有趣。)

例子

编辑2:

这是 Perl 代码,它使用下面的 C 代码(完全按预期工作),以及一个新的屏幕截图——希望这能澄清毫无疑问的事情:) 再次查看屏幕截图的中间,在那里进行了编辑到注释文本 - 这一次,旧文本在那里,例如,如果您只想修正错字,则不必重新键入整个注释文本。

my $edit_note_text = $edit_note_data[2];
print BOLD, RED, " new text: ", RESET;
system("writevt /dev/tty \"$edit_note_text\"");
my $new_text = <$in>;
$new_text = fix_input($new_text);
my $set_text = "UPDATE notes SET note = \"$new_text\" WHERE id = $edit_note_id";
$db->do($set_text);
Run Code Online (Sandbox Code Playgroud)

Better_example

io tty stdin

17
推荐指数
4
解决办法
7963
查看次数

如何关闭 tty

我打开了几个 tty,但我不知道用于关闭 tty 的组合键。我正在使用 Arch Linux。

arch-linux tty systemd

17
推荐指数
2
解决办法
3万
查看次数

不会分配伪终端,因为 stdin 不是终端

我正在尝试通过没有 nc 的服务器设置自动 SSH 跳转。

这从命令行工作:

ssh -A gateway ssh steve@target
Run Code Online (Sandbox Code Playgroud)

(我已将我的公钥添加到 SSH 代理中)。

但是,将其添加到 ~/.ssh/config 不会:

Host target
  User steveb
  ProxyCommand ssh -A gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.


^CKilled by signal 2.
Run Code Online (Sandbox Code Playgroud)

试图强行解决问题-t很有趣但无济于事。

ProxyCommand ssh -A -t gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal. …
Run Code Online (Sandbox Code Playgroud)

ssh rhel configuration tty

17
推荐指数
2
解决办法
7万
查看次数

GUI 终端仿真器中如何实现光标闪烁?

自计算早期以来,闪烁是一种常见的做法,尤其是对于光标而言。

但是,当我运行strace检查它们的系统调用时,终端模拟器konsole和 shellbash都不会注册任何类型的计时器(通过timer_settime())或间隔计时器(通过setitimer())。同时,这些程序无法使用自旋锁来等待一定时间。

真实终端能够做到这一点,因为它们的控制器可以理解闪烁转义控制序列。但图形监视器显然无法做到这些事情。

那么这些程序如何让文本闪烁,尤其是在图形环境中?文本也可以在非 X 图形终端中闪烁(就像按Ctrl+Alt+F2)。

闪烁的终端光标是如何发明的?这个问题展示了它们被发明的原因,以及真实终端如何实现它们的技术细节。

terminal tty cursor

17
推荐指数
2
解决办法
4925
查看次数

`/dev/console` 有什么用?

这个Linux 的回答: /dev/console 、 /dev/tty 和 /dev/tty0 之间的区别

文档

/dev/tty      Current TTY device
/dev/console  System console
/dev/tty0     Current virtual console
Run Code Online (Sandbox Code Playgroud)

在过去的美好时光/dev/console是系统管理员控制台。TTY 是用户连接到服务器的串行设备。现在 /dev/console/dev/tty0代表当前的显示通常是一样的。例如,您可以通过添加 console=ttyS0grub.conf. 之后,您/dev/tty0是监视器,并且/dev/console/dev/ttyS0.

通过“系统控制台”,/dev/console就像是一个文本物理终端的设备文件,就像/dev/tty{1..63}是虚拟控制台的设备文件。

通过“/dev/console/dev/tty0代表当前显示和通常是相同的”,/dev/console在我看来它也可以是虚拟控制台的设备文件。/dev/console似乎更像/dev/tty0/dev/tty{1..63}(/dev/tty0是当前活动的虚拟控制台,可以是 中的任何一个/dev/tty{1..63})。

什么是/dev/console?它是干什么用的?

/dev/console玩了Linux内核相同作用/dev/tty的过程?(/dev/tty …

linux ubuntu tty console pts

16
推荐指数
2
解决办法
8338
查看次数

交互式 CLI 如何工作?

像 Vim 这样的命令行应用程序如何工作?具体来说,他们如何以他们的方式控制终端?另外,为了将来参考,对于像 Vim 那样控制终端的应用程序是否有一个特定的术语?

vim ncurses tty console

16
推荐指数
1
解决办法
3199
查看次数

来自 tty 的 X 的屏幕截图

使用 Xvfb 我可以启动一个应用程序并截取屏幕截图。

我想知道的是如何从现有(休眠)X 会话中捕获。

从 tty 或通过 ssh 说。

据我所知,windows 是未映射的,不存在以保留资源。是否有一些工具可以在虚拟窗口管理器中映射现有窗口、工作区等并进行快照?

或者可以libx11通过使用XShmCreateImage或类似的方式使用和创建快照?

x11 tty screenshot

15
推荐指数
1
解决办法
3771
查看次数