![gtk-launch 오류: 애플리케이션에 필요한 터미널을 찾을 수 없습니다](https://linux55.com/image/207513/gtk-launch%20%EC%98%A4%EB%A5%98%3A%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90%20%ED%95%84%EC%9A%94%ED%95%9C%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
다음 명령을 사용해 보았습니다.
gtk-launch nvim file.txt
하지만 나에게 다음과 같은 오류가 발생합니다.
gtk-launch: error launching application: Unable to find terminal required for application
신청에 필요한 단말기는 어떻게 설정하나요? $TERM
환경 변수를 설정했습니다 $TERMINAL
.
export TERM="kitty"
export TERMINAL="kitty"
답변1
2023년 9월 18일 현재: 하드코드된 터미널 목록여기예
static const struct {
const char *exec;
const char *exec_arg;
} known_terminals[] = {
{ "xdg-terminal-exec", NULL },
{ "kgx", "-e" },
{ "gnome-terminal", "--" },
{ "mate-terminal", "-x" },
{ "xfce4-terminal", "-x" },
{ "tilix", "-e" },
{ "konsole", "-e" },
{ "nxterm", "-e" },
{ "color-xterm", "-e" },
{ "rxvt", "-e" },
{ "dtterm", "-e" },
{ "xterm", "-e" }
};
솔루션 1
목록의 첫 번째 프로그램은 터미널을 선택할 수 있는 스크립트입니다. 따라서 해결책은 설치하는 것입니다.이것스크립트를 작성 /usr/bin/xdg-terminal-exec
하고 구성합니다. (arch 에는 aur 패키지가 있습니다 xdg-terminal-exec-git
. 저는 Arch를 사용합니다. btw)
이를 구성하려면 원하는 우선순위대로 터미널을 나열하는 파일을 생성해야 합니다. 파일은 $HOME/.config/xdg-terminals.list
다음과 같아야 합니다.
echo kitty.desktop >> $HOME/.config/xdg-terminals.list
.desktop
그런 다음 스크립트의 데이터 계층 구조인 폴더에 파일을 추가 해야 합니다 $HOME/.local/share/xdg-terminals/
. 예를 들면 다음과 같습니다.
ln -s /usr/applications/kitty.desktop $HOME/.local/share/xdg-terminals/
이제 다음 명령을 사용하여 원하는 터미널이 열려 있는지 확인할 수 있습니다.
xdg-terminal-exec
이전 예에서는 키티가 열려야 합니다.
이제 gtk-launch
, exo-open
및 xdg-open
파일을 여는 데 사용되는 모든 프로그램( 레이블이 지정됨)이 thunar
원하는 터미널에서 열립니다.glib2
.desktop
Terminal=true
솔루션 2
더 간단한 해결책은 원하는 터미널을 에 연결하는 것입니다 /usr/bin/xdg-terminal-exec
.
ln -s /usr/bin/kitty /usr/bin/xdg-terminal-exec
노트:이는 터미널이 실행할 명령을 수신하기 위해 플래그를 사용하지 않는 경우에만 작동합니다. 그렇다면 심볼릭 링크 대신 다음 스크립트를 사용할 수 있습니다.
#!/usr/bin/sh
$TERM [needed-flag] $1
답변2
터미널은 gtk-launch에 하드코딩되어 있습니다. 바라보다이 답변.
이 문제를 해결하려면 다음을 수행하십시오.sudo ln -s /usr/bin/gnome-terminal /path/to/your-term