gtk-launch에 사용할 터미널을 지정하는 방법

gtk-launch에 사용할 터미널을 지정하는 방법

논의여기.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

askubenux 포스트

답변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 "$@"

관련 정보