논의여기.desktop
, gtk-launch는 애플리케이션이 터미널에서 실행되도록 파일이 지정하는지 여부에 따라 애플리케이션을 직접 또는 터미널 창에서 시작할 수 있습니다 . 이 단말기는 교체 시스템에서 나온 것이 아닌 것 같습니다 x-terminal-emulator
(교체 시스템을 업데이트해도 바뀌지 않습니다).
gtk-launch
어떤 터미널 에뮬레이터를 사용해야 하는지 지정하는 방법이 있나요 ?
답변1
대책 없이는 불가능해 보입니다.
https://askubuntu.com/a/294430
Gtk-launch(gtk의 일부)x-terminal-emulator
전혀 관련이 없는. 내 경우에는 glib2 2.68.0(gtk-launch 이후)에 대한 터미널 선택 논리가 하드코딩되어 있습니다.prepend_terminal_to_Vector()gio/gdesktopappinfo.c에서.
# Most preferred
gnome-terminal -- APP ARG1 ARG2 ...
# Then
mate-terminal -x APP ARG1 ARG2 ...
xfce4-terminal -x APP ARG1 ARG2 ...
# After that
tilix -e APP ARG1 ARG2 ...
konsole -e APP ARG1 ARG2 ...
nxterm -e APP ARG1 ARG2 ...
color-xterm -e APP ARG1 ARG2 ...
rxvt -e APP ARG1 ARG2 ...
dtterm -e APP ARG1 ARG2 ...
# Last resort
xterm -e APP ARG1 ARG2 ...
내 컴퓨터의 더러운 해결 방법
전화하고 싶어요alacritty -e ...
1. 가상 그놈 터미널 생성(α)
sudo install -vDm755 /dev/null /usr/local/bin/gnome-terminal
2a.아직 설치하지 않으셨다면 gnome-terminal
α에 아래 내용을 넣어주세요.
#!/bin/bash
[ x"$1" = x"--" ] || { exec /usr/bin/gnome-terminal "$@"; exit 0; }
shift
TITLE="$(basename "$1")"
if [ -n "$TITLE" ]; then
/usr/bin/alacritty -t "$TITLE" -e "$@"
else
/usr/bin/alacritty -e "$@"
fi
2b. 이미 설치되어 있는 경우 gnome-terminal
α에 다음 내용을 입력합니다.
#!/bin/bash
[ x"$1" = x"--" ] || exit 1
shift
TITLE="$(basename "$1")"
if [ -n "$TITLE" ]; then
/usr/bin/alacritty -t "$TITLE" -e "$@"
else
/usr/bin/alacritty -e "$@"
fi
답변2
GLib 2.75.0부터는 gnome 터미널 해결 방법이 더 이상 필요하지 않습니다. 이것범죄xdg-terminal-exec
원하는 터미널에 래퍼를 사용할 수 있습니다 .
xdg 터미널 실행
하나 있다제안freedesktop.org가 터미널 실행을 위한 인터페이스를 지정하는 방법을 알아보세요. 제안된 구현xdg 터미널 실행
그러나 이것은 현재로서는 단지 제안일 뿐이므로 사용자 정의 래퍼를 작성하는 것이 xdg-terminal-exec
안전할 것입니다 .
예
발 터미널
ln -sf /usr/bin/foot $HOME/.local/bin/xdg-terminal-exec
기운찬
xdg-terminal-exec
#!/usr/bin/env bash
exec alacritty -e "$@"