pse*_*ert 5 terminal-emulator .desktop
正如此处所讨论的,gtk-launch 可以直接启动应用程序,也可以在终端窗口中启动应用程序,具体取决于文件是否.desktop指定应用程序在终端中运行。在我看来,这个终端不是来自x-terminal-emulator替代系统的(当我更新替代系统时它不会改变)。
有没有办法指定gtk-launch应使用哪个终端模拟器?
如果没有解决方法似乎不可能。
\nhttps://askubuntu.com/a/294430
\nGtk-launch(gtk 的一部分)与完全无关x-terminal-emulator。在我的例子中,glib2 2.68.0(在 gtk-launch 之后)的终端选择逻辑硬编码在gio/gdesktopappinfo.c 的prepend_terminal_to_vector()中。
# Most preferred\ngnome-terminal -- APP ARG1 ARG2 ...\n\n# Then\nmate-terminal -x APP ARG1 ARG2 ...\nxfce4-terminal -x APP ARG1 ARG2 ...\n\n# After that\ntilix -e APP ARG1 ARG2 ...\nkonsole -e APP ARG1 ARG2 ...\nnxterm -e APP ARG1 ARG2 ...\ncolor-xterm -e APP ARG1 ARG2 ...\nrxvt -e APP ARG1 ARG2 ...\ndtterm -e APP ARG1 ARG2 ...\n\n# Last resort\nxterm -e APP ARG1 ARG2 ...\nRun Code Online (Sandbox Code Playgroud)\n我的机器上的一个肮脏的解决方法
\n我想调用alacritty -e ...
1. 创建一个虚拟 gnome 终端 (\xce\xb1)
\nsudo install -vDm755 /dev/null /usr/local/bin/gnome-terminal\nRun Code Online (Sandbox Code Playgroud)\n2a. 如果还没有gnome-terminal安装,请将以下内容放入\xce\xb1
#!/bin/bash\n\n[ x"$1" = x"--" ] || { exec /usr/bin/gnome-terminal "$@"; exit 0; }\n\nshift\n\nTITLE="$(basename "$1")"\nif [ -n "$TITLE" ]; then\n /usr/bin/alacritty -t "$TITLE" -e "$@"\nelse\n /usr/bin/alacritty -e "$@"\nfi\nRun Code Online (Sandbox Code Playgroud)\n2b. 如果已经gnome-terminal安装,将以下内容放入\xce\xb1
#!/bin/bash\n\n[ x"$1" = x"--" ] || exit 1\n\nshift\n\nTITLE="$(basename "$1")"\nif [ -n "$TITLE" ]; then\n /usr/bin/alacritty -t "$TITLE" -e "$@"\nelse\n /usr/bin/alacritty -e "$@"\nfi\nRun Code Online (Sandbox Code Playgroud)\n\n