
議論ここ.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. 仮想GNOME端末生成(α)
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 "$@"