gpt4 book ai didi

linux - 有没有一种惯用的方法可以在 Linux 中打开图形终端?

转载 作者:太空狗 更新时间:2023-10-29 12:11:32 33 4
gpt4 key购买 nike

我有一些打开图形终端(Gnome-terminal、LXTerminal、Konsole 等)的 bash 脚本。

但是我想知道是否存在打开终端的惯用方法?类似于文件类型的 XDG 标准?否则,我将使用打开终端的特定方式对引用进行硬编码,例如:

lxterminal -e "ls"

我想一个更简洁的方法是使用一个“openTerminal”函数,它将要运行的命令作为参数之一。

最佳答案

Debian 使用 x-terminal-emulator 来做到这一点虚拟包,在 11.8.3 Packages providing a terminal emulator 中描述

Packages that provide a terminal emulator for the X Window System which meet the criteria listed below should declare in their Provides control field that they provide the virtual package x-terminal-emulator. They should also register themselves as an alternative for /usr/bin/x-terminal-emulator, with a priority of 20. That alternative should have a slave alternative for /usr/share/man/man1/x-terminal-emulator.1.gz pointing to the corresponding manual page.

To be an x-terminal-emulator, a program must:

  • Be able to emulate a DEC VT100 terminal, or a compatible terminal.

  • Support the command-line option -e command, which creates a new terminal window[106] and runs the specified command, interpreting the entirety of the rest of the command line as a command to pass straight to exec, in the manner that xterm does.

  • Support the command-line option -T title, which creates a new terminal window with the window title title.

也就是说,该政策描述了从 1990 年代中期开始与 xterm 的最小兼容性。

它的成功有限:

  • 一些包装商滥用优先级字段,使用远高于 20 的值。
  • -e 选项与您提到的某些终端的兼容性很差。

除了 Debian(以及 Ubuntu 等派生发行版),这种方法使用不多。

我记得以前回答过这个问题,但现在没有看到。这是我的 Debian/testing 的 list ,请注意每个具有 40 优先级的软件包都不遵循该策略:

$ sudo update-alternatives --config x-terminal-emulator

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/xterm-dev 60 auto mode
1 /usr/bin/evilvte 20 manual mode
2 /usr/bin/gnome-terminal.wrapper 40 manual mode
3 /usr/bin/koi8rxterm 20 manual mode
4 /usr/bin/konsole 40 manual mode
5 /usr/bin/lxterm 30 manual mode
6 /usr/bin/lxterminal 40 manual mode
7 /usr/bin/mate-terminal.wrapper 30 manual mode
8 /usr/bin/mlterm 20 manual mode
9 /usr/bin/mrxvt-full 10 manual mode
10 /usr/bin/pterm 20 manual mode
11 /usr/bin/stterm 15 manual mode
12 /usr/bin/terminology 40 manual mode
13 /usr/bin/urxvt 20 manual mode
14 /usr/bin/uxterm 20 manual mode
15 /usr/bin/xfce4-terminal.wrapper 40 manual mode
16 /usr/bin/xterm 20 manual mode
17 /usr/bin/xterm-dev 60 manual mode

Press <enter> to keep the current choice[*], or type selection number:

(“xterm-dev”包当然是本地开发包,没有发布)。

关于linux - 有没有一种惯用的方法可以在 Linux 中打开图形终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43015222/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com