sudoコマンドでgedit(GUIアプリ)を起動してはいけない

技術

はじめに

最近知ったのですが、sudoコマンドでGUIアプリを起動してはいけないというLinuxのお作法があることを知りました。

実際にGUIアプリを管理者権限で開いてしまった時の体験を踏まえて記事にしたいと思います。

環境

  • Ubuntu 24.04.1 LTS
  • Ubuntu 22.04.1 LTS

「sudo gedit」を実行してしまった時の話

事の発端はUbuntuでテキストファイルを開こうとした時、CUI上で「sudo gedit 〇〇〇」と何気なく実行した時のこと。

そうすると、エディタ自体は開けたのですが、なにやらウィンドウの挙動が若干怪しかったり、CUI上では謎のエラーが発生していたり。。。

あれ?って思ったので調べてみたという経緯です。

※geditというのは、Ubuntuに入っている標準のテキストエディタのことです。ただし、Ubuntu 24.04.1 LTSは標準エディタはgeditではなくて「GNOME Text Editor」というアプリに変更になっています。(Ubuntu 22.10以降から変更されているみたい)

Ubuntu 22.04.1 LTSでsudo geditを試す

最初に実行してしまった時はちょっと焦ってしまいすぐにアプリを消したり再起動したりしてしまったので、テストとしてVirtualBoxに新しくUbuntu環境を立てて試してみました。

まずはUbuntu 22.04.1 LTSで試したときのGIF画像を載せます。

CUI上では下記のワーニングが発生しています。なんかいろいろなプロセスが失敗している。

Ubuntu 24.04.1 LTSでsudo geditを試す

せっかくなのでUbuntu 24.04.1 LTSでも試してみました。(テキストエディタはgeditです。)

CUI上では下記のワーニングが発生しています。Ubuntu22.04.1LTSよりはワーニングの数が少ないですが、プロセスは失敗していますね。

sudoコマンドでGUIアプリは起動してはいけない

調べてみてわかったことですが、どうやら「sudoコマンドをつけてGUIアプリを起動してはいけない」というLinuxのルール(お作法)があるみたいです。

知らなかった。。。

最近のUbuntuでは一応sudoでGUIアプリを開くことはできるみたいなので、私が実際に試したときのようにGUIアプリ自体は起動できましたが、Linuxのお約束として上記ルールがあるのでsudoでGUIアプリ実行は止めたほうがいいですね。ワーニングも結構でてますし。。。

なのでsudo権限をつけてテキストファイルなどを編集したいときはviやnanoなどCUI上でも使用できるアプリを使用するのがベターとのこと。

勉強になりました。

下記記事を参考にさせていただきました。

おわりに

良い勉強になりました。

ただ、私みたいに何気なく実行してしまう人もいるのではないかと思って今回の記事にさせていただきました。

仮に実行した時に何か注意文が出てくれれば分かりやすいんですけどね、、、、、Linuxのルールというかお作法を知らない方もかなりいるのではないかな。と思ったりします。

今後は気を付けていきたいです。

参考になれば幸いです。