rootでテキスト編集したいカスタムアクションで

ThunarのカスタムアクションにOpen Text as Rootってあったと思うけど、何故だか反応しなくなった。
システムの設定ファイルをちょっと編集したい時に便利だったのだが、どうしちゃったんだろう?
カスタムアクションの設定を見てみると、pkexecコマンドで起動させようとしているが、パスワード入力しても無表示だ。webから情報を集めてみたけどドンピシャの情報がない。端末で見てみます。

スクリーンショット_2020-01-12_16-49-43

gksuはもう数年も前から使えないコマンドなので仕方ないが、pkexecは、このPCではダメで、変数の設定が必要そう。

$ pkexec xed
Unable to init server: Could not connect: 接続を拒否されました
(xed:1234): Gtk-WARNING **: 13:16:19.5963: cannot open display: 

webの情報を頼りに軽くやってみたけど機能しません。他には、sudoでも開くことができます。sudoで開いたxedにファイルをドロップして編集して保存でも行けました。カスタムアクションにフォルダをrootで開くと言うのがあり、これは機能するので、編集したいファイルのあるフォルダをrootで開いて編集する手もあります。

しかし、右クリックからカスタムアクション一発でテキスト編集したいです。

公式には、gksuやgksudoの替わりに推奨されているのが、「admin://」です。これでカスタムアクションを作成してみます。「xed admin:// %f」をコマンドにしてみます。

2020-01-12_17-32

早速ファイルを開いてみましたが、パスワード入力を二回求められ、ファイルも二つになっています。一つはエラーで、もう一つは目的のファイルが開いています。何でだろ?

2020-01-12_17-35
属性も「読み取りのみ」になっていて失敗しています。rootじゃありません・・・。何かが違うみたいです。
少し嵌ってしまいましたが、コマンドを少しづつ変えながら試していると、発見しました。

「xed admin://%f」で良いみたいです。admin://とパラメータ%fのスペースを外すと機能しました。

2020-01-12_17-47

すごく時間が掛かってしまいましたが、上手く行ったようです。情報が無くてコマンドのパラメータやオプションや構文の書き方とかが分からずに手探りで解決しました。アプリケーションが最初にくるとか、分からないですよね。普通のコマンドだと逆ですよね。取り敢えずはOKと言うことで。異論は認めます。


カスタムアクション(テキストファイルをルートで開く)
名前:Open Text as Root
説明:Opens selected text file with root permissions.
コマンド:xed admin://%f
開き方:テキストファイル、その他のファイル