Non Mihi, Non Tibi, Sed Nobis
roadtoalinuxmintuser

theming

roundup
Linux Mint 19: 「'gksu' not found」 廃止された gksu の代わりの方法 00:24
アイキャッチ

事の発端


Linux Mint 19 ユーザーであれば、例えば Xed で sudoers ファイルを編集するために gksu コマンドを使おうとしたら使えないことに気づきます:
範囲を選択_012

デフォルトでインストールされていないのであれば、今からインストールすればいいということで、公式リポジトリからインストールしようにもできません:
範囲を選択_013

gksu は権限を昇格してアプリを実行したいときに使いますが、PolicyKit を使って権限の昇格をすることが推奨されています。gksu は廃止され、まず Debian から消され、Canonical 社も Ubuntu 18.04 から gksu を消し、Linux Mint 19 もそれに従った形になります。

gksu とは何だったのか


gksu は su や sudo の GTK フロントエンドを提供するプログラムでした。つまり、GUI アプリを root 権限で実行するのに使われていました。Linux ユーザーであれば、gksu を使ってテキストエディターを起動し、開くのに root 権限が必要なシステムファイルを編集するときに使っていたはずです。

gksu はもう使えません。それではこんなときどうしたらいいでしょうか。

方法1: GVFS を使う


gvfs admin バックエンドを使うことが推奨されています。専門用語は横に置いとくとして、つまり以下をファイルパスにつければ良いだけです:
admin://
なので、例えば、こんな↓ことがやりたいときは:
gksu xed /etc/sudoers
ファイルパスに admin:// をつけてこんな風にして実行します:
xed admin:///etc/sudoers
範囲を選択_014

方法2: pkexec コマンドを使う


pkexec を使用する際は DISPLAY 変数と XAUTHORITY 変数をセットする必要があります。つまりこんな感じで実行します:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xed /etc/sudoers
しかしこれを毎回毎回入力するのは大変なので .bashrc ファイルにエイリアスを記述しておくと良いです:
alias pkexec='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'

以後、pkexec が pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY' として実行されるはずです。

エイリアスを作成する以外の方法も有ります。/usr/share/polkit-1/actions/com.ubuntu.pkexec.xed.policy を作成し:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xed /usr/share/polkit-1/actions/com.ubuntu.pkexec.xed.policy
以下を記述して保存します:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>

<vendor>xed</vendor>
<vendor_url>http://gnome.org/</vendor_url>
<icon_name>text-editor</icon_name>

<action id="org.gnome.xed">
<description>Run xed as root</description>
<message>Authentication is required to run xed as root.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/xed</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>


方法3: sudo -H コマンドを使う(非推奨)


この方法は推奨されていない方法ですが、gksu の代わりに使える方法ではあります:
sudo -H xed /etc/sudoers
参考元: Make Tech Easier, Linux Mint Forums
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 00:24
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle.
Since 2009.
Info 更新日はストップしました。

roadtoapython

roadtorubyist

git