【Ubuntu 16.04】「実行」ダイアログのコマンド履歴が勝手に実行される問題を防ぐ方法
Ubuntuでは、「実行」ダイアログボックスの履歴にある最初の項目が、実際に入力したコマンドではなく勝手に実行されてしまうことがあります。例えば、以前にxcalcを入力したことがあり、今はgnome-disksと入力しているのに、実際にはxcalcが起動して電卓が画面に表示される——そんな経験があるなら、この問題に遭遇している可能性があります。この問題は、UnityとDashを使う標準的なUbuntuのユーザーにも、Canonicalがサポートする各種フレーバーのユーザーにも等しく影響します。最も簡単な解決策は、「実行」コマンドの履歴を消去または無効化することです。その過程で、さまざまな種類の履歴をまとめてクリアしておくのも良い考えだと気づくかもしれません。Bleachbitというツールを使えば、それが簡単に行えます。
対象となる環境
Superキー+R、またはAlt+F2を同時に押すことで「実行」ボックスが表示されるUbuntuのバージョンであれば、同様の方法で問題を解決できます。これには、Xfce4を使用するXubuntu、Ubuntu MATE、LXDEを使用するLubuntuのユーザーも含まれます。なお、Dashの「最近使用したアイテム」が記録するものと、「実行」ボックスから記録される項目は別物である点に注意してください。ここでクリアすべきは、後者のコマンド履歴です。
方法1: Unity Runnerの履歴を無効化する
Superキーを押しながらRキーを押すか、Altキーを押しながらF2キーを押して「実行」ボックスを表示します。Superキーは、多くのPCキーボードではWindowsキーに相当します。Ctrl+Alt+Tを同時に押せば、ターミナルを開くこともできます。
ターミナルコマンドでRunner履歴を無効化したい場合は、以下を入力します。
gsettings set com.canonical.Unity.Runner history []
Enterキーを押すと、正しく入力されたことを示す音が鳴ります。同じ操作は、dconf-editorと入力してEnterキーを押し、ウィンドウ左側の「Desktop」→「Unity」→「Runner」の順に開いていくことでも可能です。「history」をダブルクリックして値を[]に変更し、Enterキーを押してウィンドウを閉じます。これにより、UbuntuのUIが「実行」ボックスへの入力内容を記録しなくなります。ただし、ターミナルでよくBashコマンドを入力している場合、それらの履歴はこの操作では削除されない点に留意してください。
方法2: BleachbitでRunner履歴をクリアする
履歴機能を完全に無効化するのではなく、単に履歴を消去したいだけなら、Bleachbitという便利なプログラムをインストールするとよいでしょう。これを使えば、Ubuntuシステム全体のさまざまな履歴をまとめてクリアできます。ただし、重要なファイルまで削除してしまう可能性もあるため、取り扱いには注意が必要です。
まだインストールしていない場合は、先ほどと同じようにターミナルを開いて sudo apt-get install bleachbit を実行し、指示に従ってください。UbuntuソフトウェアセンターやLubuntuソフトウェアセンター、あるいはSynapticを開いて「bleachbit」と検索し、見つかったパッケージにインストールの印を付ける方法もあります。Ubuntuをしばらく使っているなら、必要な依存パッケージはすでに揃っている可能性が高いでしょう。
インストール後、DashやKDEメニュー、LXメニュー、Whiskerメニューのシステムツール配下に2つのリンクが追加されているはずです。1つは「Bleachbit」、もう1つは「Bleachbit (as root)」です。システム全体の重複した履歴をクリアするには両方を実行する必要がありますが、ローカルユーザーの履歴だけを掃除するなら、最初の1つだけで十分です。
Bleachbitの初期設定
プログラムを初めて起動したら、「編集」→「設定」を開きます。「無関係なクリーナーを隠す」にチェックを入れれば、Ubuntuにインストールされていないプログラムのクリーナーが非表示になります。「ファイルを上書きして内容を隠す」と「コンピュータ起動時にBleachBitを開始」は、特別なセキュリティ要件がない限りチェックを外しておくのがおすすめです。一方、「削除前に確認」には必ずチェックを入れておきましょう。
「言語」タブでは、ソフトウェアがインストールされている言語にチェックが入っていることを確認してください。「ホワイトリスト」タブでは、消去対象から除外したい領域を追加できます。設定を閉じたら、左側のクリーナーのリストを確認しましょう。各項目を選択したときに何が削除されるのかが説明されています。注意点として、このツールでパスワードやブックマークの削除に同意すると、ブラウザに保存されたデータが削除されます。また、Bleachbitでメモリをクリアするとシステムが不安定になることもあります。いずれの場合も、Bleachbitは削除前に警告を表示してくれますが、同意すれば実行を許してしまうため、細心の注意が必要です。
ユーザー権限での実行
設定に納得できたら、ドライブアイコンをクリックしてクリーナーを実行します。履歴が削除されたら終了し、今度は2つ目のリンクからroot(スーパーユーザー)権限でBleachbitを起動します。パスワードの入力を求められるでしょう。この新しいインスタンスにはカスタムGTKテーマが適用されないため、見た目が素朴で、やや古びて見えるかもしれません。
再び「編集」→「設定」を開き、ユーザーアカウントで行ったのと同じ設定を行います。左側のパネルの項目についても同様に選択してください。これはRunner履歴だけでなくあらゆる履歴を削除できる優れた方法であり、Ubuntuシステムのパフォーマンス向上にもつながります。ただし、rootユーザーとして不用意に操作すると重大な損害を招く恐れがあります。一方のメリットとしては、Kubuntu環境でKDE関連の「実行」履歴もクリアできる点が挙げられます。
すべての設定がユーザーアカウント時と同じになったことを確認したら、ドライブアイコンを選択します。rootアカウントで動作しているため、アイコンが古いバージョンのものになっているかもしれません。クリーニング自体は短時間で終わりますが、「APT autoremove」を機能として選択していた場合は、不要なパッケージのスキャンも行われます。これはディスク容量の節約とシステムパフォーマンスの向上に役立ちますが、「実行」ダイアログの問題を解決するために必須のものではありません。なお、このソフトウェアの実行により、過去に入力したBashコマンドの履歴リストもクリアされます。
著者について

Kevin Arrows(ケビン・アローズ)
Kevin Arrowsは、10年以上の業界経験を持つテクノロジースペシャリストです。Microsoft Certified Technology Specialist(MCTS)の資格を保有し、最新の技術動向を追いかけることに深い情熱を持っています。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い技術トピックについて数多くの記事を執筆しており、その専門性と知識は高く評価されています。複雑な技術的概念を明確かつ簡潔に説明する能力でも知られ、同業者からも広く認められ尊敬されています。
-
Linuxでディレクトリとその中身を完全に削除する方法:ステップバイステップガイド
Linuxのコマンドラインで作業をしていて、もう使わなくなった空のディレクトリを削除したい場合は、rmdirコマンドに続けてディレクトリ名を入力するだけです。例えば「rmdir Test」と入力すると、Testディレクトリが空であれば削除されます。ただし、ディレクトリ内にファイルが1つでも残っていると、「rmdir: failed to remove Test: Directory not empty(ディレクトリが空ではないため削除できません)」というエラーメッセージが表示されます。ディレクトリとその中身をまとめて一括削除するには、いくつかの方法があります。しかし、実行する前に注意しておきた
-
Unhideで隠れたLinuxプロセスを発見する方法:ルートキット対策でシステムセキュリティを強化
Unhideとは?隠れたプロセスとルートキットの脅威 GNU/Linuxは非常に安全性の高いオペレーティングシステムですが、その安心感がかえって油断につながることも少なくありません。「安全な環境だから何も起こらないはずだ」という思い込みは危険です。確かにLinux環境にはWindowsほど多くのマルウェアは存在しませんが、それでもシステムが完全に侵害される可能性はゼロではありません。システム管理者にとって、ルートキットなどの攻撃を想定した対策は重要な業務の一つです。 ルートキットとは、第三者が不正にコンピュータシステムへのアクセスを取得した後に使用するツール群のことです。このツールキットを使う