我有一些打开图形终端(Gnome终端,LXTerminal,Konsole等)的bash脚本。有没有一种在linux中打开图形终端的习惯方法?
但是我想知道是否存在一种惯用的方式来打开终端?类似于文件类型的XDG标准?否则我硬编码与特定方式的参考打开一个终端,例如:
lxterminal -e "ls"
甲更合适的方法将有一个“openTerminal”功能我想,即需要作为一个运行的命令的参数。
我有一些打开图形终端(Gnome终端,LXTerminal,Konsole等)的bash脚本。有没有一种在linux中打开图形终端的习惯方法?
但是我想知道是否存在一种惯用的方式来打开终端?类似于文件类型的XDG标准?否则我硬编码与特定方式的参考打开一个终端,例如:
lxterminal -e "ls"
甲更合适的方法将有一个“openTerminal”功能我想,即需要作为一个运行的命令的参数。
的Debian这是否与x-terminal-emulator
虚拟包,在11.8.3 Packages providing a terminal emulator
提供用于X窗口系统满足下列标准在它们应该声明的终端仿真器软件包描述提供控制字段他们提供虚拟包
x-terminal-emulator
。他们还应该注册为/usr/bin/x-terminal-emulator
的替代方案,优先级为20.该替代方案应该有指向相应手册页的/usr/share/man/man1/x-terminal-emulator.1.gz
的从属备选方案。为X-终端仿真器,程序必须:
能够模拟DEC VT100终端,或兼容终端。
支持命令行选项-e命令,该命令会创建一个新的终端窗口并运行指定的命令,将命令行的其余部分解释为直接传递给exec的命令xterm的做法。
- 支持命令行选项-T标题,它使用窗口标题标题创建一个新的终端窗口。
也就是说,该政策描述了从90年代中期的xterm一个最小兼容性。
它已经有限的成功:
-e
选项兼容性差一些你所提到的终端。除了Debian(以及衍生的发行版,如Ubuntu)之外,这种方法用处不大。
我记得以前回答过这个问题,但暂时没有看到它。下面是我的Debian /测试的列表,并指出每个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的”包是当然的本地开发包,未公开)。
我认为标准的解决方案是允许用户通过配置文件或环境变量配置终端命令,并且默认为'xterm'。 – larsks