gksuパッケージの削除へ
「Ubuntu 18.04」で「gksu」パッケージが削除されました。「gksu」はGUIアプリを別のユーザー(主にroot)で実行するときに利用され、「gksu」は「su」のフロントエンドとして、「gksudo」は「sudo」のフロントエンドとして動作するソフトウェアです。
リポジトリーから削除
「Ubuntu」では「gksu」パッケージがデフォルトでインストールされなくなって久しい(4,5年ほど前)ですが、ついに「gksu」パッケージが削除される日が来ました。リポジトリーからパッケージが削除されたため、ユーザーは後から「gksu」パッケージをインストールすることもできません。
「gksu」パッケージはすでに「Debian」で削除されており、「Ubuntu」でもこれに追従する形になります。
開発者は代わりの手段を
例えば「Synaptic」など「root」で動作するアプリは、「PolicyKit」を利用した仕組みに変更する必要があります。これは「gksu」以前から推奨されている仕組みです。
「root」で処理する必要がある箇所のみを権限のある環境で実行します。
特に「Wayland」では、以前紹介したように「sudo」でもGUIアプリは起動しません。
ユーザーも代わりの手段を
「gksu」パッケージがデフォルトでインストールされなくなってから何年も経つため、すでに別の手段を利用しているユーザーもいるかと思います。Nautilusからroot権限が必要なファイルを編集したい場合
「Nautilus」から「root」権限が必要なファイルを編集したい場合、ファイルのパスに「admin://」を付けます。ここでは例として「/etc/apt/sources.list」ファイルを編集してみます。
1.フォルダーの表示
まず「sources.list」ファイルがある「/etc/apt」フォルダーを開きます。「Nautilus」を起動し「Ctrl+L」キーを押すと、ファイルパスを入力できるようになります。
そこに「admin:///etc/apt」を入力し、「エンター」キーを押します。
2.ユーザーの認証
ユーザーの認証画面が表示されるので、ユーザーのパスワードを入力して認証を行います。何度か表示されます。
3.ファイル一覧
以下のようになるので、「sources.list」ファイルをダブルクリックします。4.ファイルの編集
以下のようにファイルを編集できます。ファイルを保存すれば、「sources.list」ファイルに編集した内容が反映されます。
ファイルの操作に注意
「admin://」を指定しファイル一覧を表示している状態で、ファイル操作を行うことも可能です。例えば「sources.list」ファイルを同一フォルダー内にコピーすることができます。
しかしコピーした「sources.list」ファイルのアクセス権は、所有者が認証したユーザーになっています。
言い換えれば「root」ではない、ということです。
続いて「root」で起動した「Nautilus」で同じ操作を行ってみます。
コピーした「sources.list」ファイルのアクセス権は、所有者が「root」になっています。
「admin://」での操作結果がユーザーの意図とした結果であれば問題ありませんが、所有者が「root」になるだろうという前提で操作を行うと、面倒なことになるので注意してください。
geditからroot権限が必要なファイルを編集したい場合
「gedit」から「root」権限が必要なファイルを編集したい場合、ファイルのパスに「admin://」を付けます。「Nautilus」と同じですね。
ここでは例として「/etc/apt/sources.list」ファイルを編集してみます。
1.ファイルを開く
「端末」から以下のコマンドを実行します。
gedit admin:///etc/apt/sources.list
2.ファイルの編集
以下のようにファイルを編集できます。ファイルを保存すれば、「sources.list」ファイルに編集した内容が反映されます。
補足
以下のようにファイルを開く画面で「admin://」を指定しても受け付けてもらえませんでした。ただしすでに「admin://」を指定してファイルが開かれている場合や、履歴からファイルを開く場合は、「admin://」を受け付けます。
sudoeditを利用したファイルの編集
上記とは別に「sudoedit」を利用したファイルの編集方法もあります。「Kubuntu」ユーザーにとってお馴染みの方法かも知れません。
「gedit」から「root」権限が必要なファイルを編集してみます。
ここでは例として「/etc/apt/sources.list」ファイルを編集してみます。
1.アプリの起動
「端末」から以下のコマンドを実行します。
SUDO_EDITOR=gedit sudoedit /etc/apt/sources.list
2.ファイルの編集
以下のようにファイルを編集できます。ファイルを保存し「gedit」を終了すれば、「sources.list」ファイルに編集した内容が反映されます。
SUDO_EDITOR環境変数について
「SUDO_EDITOR」で指定したテキストエディターが起動します。毎回指定するのが面倒なら、「~/.bashrc」に「SUDO_EDITOR」の設定を記述しておくと良いでしょう。
export SUDO_EDITOR=gedit