как указать, какой терминал используется gtk-launch

"usando secuencias de comandos de shell" --esto es bash:

while read -r key value; do
    IFS=, read -ra keys <<<"$key"
    IFS=, read -ra vals <<<"$value"
    for ((i=0; i < ${#keys[@]}; i++)); do
        echo "${keys[i]} ${vals[i]}"
    done
done <<END
a 1
b 2
c,d,e 3,4,5
f 6
g,h 7,8 
END
2
13.04.2017, 15:36
1 ответ

Кажется, это невозможно без обходного пути.

https://askubuntu.com/a/294430

Gtk -запуск (часть gtk)никак не связана с x-terminal-emulator. В моем случае glib2 2.68.0 (позади gtk -launch )имеет свою логику выбора терминала, жестко закодированную в prepend _terminal _к _vector()в gio/gdesktopappinfo. в.

# 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

2а. Если у вас НЕ установлен 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

2б. Если у вас установлен 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

аскубунту х -сообщение

0
31.03.2021, 08:31

Теги

Похожие вопросы