名前にドットを入れずにディレクトリを非表示にする方法(ThunarとNautilusで)


14

通常、Linuxプログラムはユーザーの設定を〜/.*ディレクトリに保存します。しかし、残念ながら、(私が必要とする一部のアプリケーションの)一部の開発者は、このルールに従わず、設定の保存フォルダー名をドットで始めません。これにより、ユーザーが決して使用しないフォルダーがホームディレクトリに散らかります(多くはないので、正しい単語ではないかもしれませんが、とにかく面倒です)。この場合、アプリケーションはそれらの名前を見つけられないため、名前を変更することはできません。

一般的なファイルシステムブラウザーでの名前の表示にドットが付いていないフォルダーを非表示にする方法はありますか(実際には、Midnight CommanderとKrusaderと共にXFCEのThunarを使用していますが、Nautilusについても気にしません)。

回答:


18

Nautilus (更新:これはThunarでも動作するはずです.hidden、同じディレクトリにあるファイルにリストされているファイルまたはフォルダーを非表示にします。

Nautilusでフォルダーを非表示にする方法は2つあります。

ノーチラススクリプト

  1. 次のコードをホームフォルダーの新しいファイルに保存します。名前を付けてくださいHide

    #!/usr/bin/env python
    
    import commands
    from os.path import join
    
    
    files = commands.getoutput("echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
    cwd = commands.getoutput("echo $NAUTILUS_SCRIPT_CURRENT_URI")
    cwd = cwd[7:]
    
    for f in files.split(" /"):
    
        f = f.split("/")[-1]
    
        commands.getoutput("echo "+f+" >> "+join(cwd, ".hidden"))
  2. 次のコマンドを実行して、スクリプトをインストールします。

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. Nautilusで、1つ以上のファイル/フォルダーを選択して右クリックします。[ スクリプト ]メニューから[ 表示]を選択します。

    ここに画像の説明を入力してください

    現在の場所(F5)を再ロードすると、選択したファイル/フォルダーが非表示になります。

コマンドライン

「Rick Astley's Greatest Hits」というフォルダーを非表示にしたい場合、次のコマンドを実行するだけです。

echo "Rick Astley's Greatest Hits" >> .hidden

2
まさに私が得たいと思った答えの一種。しかし、残念ながら、Thunarには機能しません。
イヴァン

@Ivan、彼らが最終的にそれを追加することを願っています。答えでリンクしたバグレポートを見てください。
イザヤ

なぜ二重引用符「ObnoxiousFolder」ですか??
karthick87

参考までに、バグレポートはWONTFIXとして閉じられました(パッチはすでに存在しており、プロジェクトメンテナは基本的に「気にしない」と言っていたため、IMOではありません)。別の解決策が必要になります
...-waldyrious

Thunarの最近のバージョンは、GIOを使用して隠しディレクトリを決定し、GIOが.hiddenファイルのサポートを実装するため、これをサポートしています。
ブライアンキャンベル

1

シナプスを開き、「nautilus-hide」を検索してインストールします。ログアウトとログイン。次に、任意のファイルまたはフォルダーを右クリックします。コンテキストメニューに[非表示]オプションが表示されます。

名前は変更されませんが、フォルダーは非表示になります。


0

私は、Alvinの優れたスクリプトを(できれば)よりPythonicになるように変更しました(.hidden一度だけ開かれるため、多くのファイルを追加すると、潜在的に高速になります)。

#!/usr/bin/env python

import os

files = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split()
# According to https://help.ubuntu.com/community/NautilusScriptsHowto
# the list is newline-delimited, which is split()'s default separator

# No need for NAUTILUS_SCRIPT_CURRENT_URI
cwd = os.path.dirname(files[0])
# Assuming all selected files are in the same path, I cannot imagine why not

# Instead of relying on "echo ... >> ..." use Python's IO:
with open(os.path.join(cwd, ".hidden"), "a") as hidden:
    hidden.write("\n".join(
        [os.path.basename(f) for f in files.split()]))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.