首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上启动默认终端

在Linux上启动默认终端
EN

Stack Overflow用户
提问于 2021-09-20 07:29:00
回答 2查看 713关注 0票数 0

请告诉我,是否可以以某种方式(方法)调用由Linux安装的Terminal

现在,我在xfce4-terminal终端中运行这个进程,指定这个终端及其参数:

代码语言:javascript
复制
QProcess up;
QString cArg;
 
cArg="/tmp/cp.py -y " + ye;
up.start("xfce4-terminal", QStringList()<< "--geometry=120x40" << "--command" << "python3 "+ cArg << "-H");
up.waitForFinished();
up.close();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-20 08:46:14

不,Linux内核中没有一种通用的方法来确定默认情况下在系统上安装了哪个终端模拟器(或是否安装了一个终端模拟器)。

虽然(相当普遍的) freedesktop.org规范描述了如何将MIME类型与默认应用程序相关联,但据我所知,在没有打开关联文件的情况下,没有默认应用程序的规范。每个具有“默认终端仿真器”概念的桌面环境都有自己的配置方法。

Debian有“更新替代”系统,它允许基于别名配置“默认”应用程序,并且它有一个包,它创建了一个别名x-terminal-emulator,可以用来配置默认的终端模拟器。

下面是在程序中选择命令的合理策略:

  • 允许用户配置命令。如果configured.
  • Use XDG_CURRENT_DESKTOP环境变量具有最高优先级,则使用它,并为每个桌面环境实现逻辑以读取它们的配置以找到配置的默认模拟器。当available.
  • Collect是一组常用的终端仿真器时,使用它作为第二最高优先级。在列表中放置别名,比如优先级更高的x-terminal-emulator。从用户配置开始,以硬编码列表结尾的
  • ,检查每个命令,看看它是否是可执行的,并选择第一个命令。如果用户已经配置了命令,并且它不是可执行的,我建议您使用一个可选的错误消息。
票数 0
EN

Stack Overflow用户

发布于 2022-02-26 14:16:05

您可以使用i3的明智终端脚本。

https://github.com/i3/i3/blob/next/i3-sensible-terminal

虽然它是为i3制作的,但是如果您阅读源代码,您会发现它非常简单,并且不依赖于它,所以可以在任何桌面环境中使用它。

不过,如果您不使用i3,您可能希望删除最后一行(这并不重要,因为您不太可能安装任何终端)。

解释

它以这样的顺序进行:

您可能在非标准的variable

  • x-terminal-emulator环境中定义的mate-terminal gnome-terminal terminator xfce4-terminal urxvt rxvt termit Eterm aterm uxterm xterm roxterm termite lxterminal terminology st qterminal lilyterm tilix terminix konsole kitty guake tilda alacritty hyper

  • 终端,它是Debian only

  • 的一个类似的实用程序--硬编码终端的列表,即mate-terminal gnome-terminal terminator xfce4-terminal urxvt rxvt termit Eterm aterm uxterm xterm roxterm termite lxterminal terminology st qterminal lilyterm tilix terminix konsole kitty guake tilda alacritty hyper

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69250533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档