多くのフォルダーのアイコンを変更するにはどうすればよいですか?
すべてのフォルダーの最初の画像をフォルダーアイコンとして設定する方法
私はここにいましたが、うまくいきません。私の映画はホームパーティションにないため、別のext4パーティションにあり、そのコマンドでそのパーティションの場所を指定しようとすると、自動的に/home/sumeet私が入力した場所の前。
2番目の投稿のスクリプトが機能していません!たぶん私は何か間違ったことをしている。
[編集2詳細]
{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I -mindepth 1 -maxdepth 1 -type d)
最初にこのコマンドを最初の投稿から実行しました。
find: ‘/home/sumeet/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I’: No such file or directory
次に、元の投稿で提案されているように、いくつかのファイルをhome/videos/filmsに移動し、このコマンドを実行しました
{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/Videos/Films -mindepth 1 -maxdepth 1 -type d)
これは完全にうまくいきましたが、映画コレクション全体をホームフォルダに移動できません。
その後、私は2番目の言及された投稿で解決策を試し、実行しました
python3 /home/sumeet/change_icon.py </mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I>
そして、この出力を得ました
bash: syntax error near unexpected token `newline'
それから私は考えました、私は何か間違ったことをして、これを試しました
python3 /home/sumeet/change_icon.py /mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I
出力は得られませんでしたが、機能しませんでした。
次に、2番目のスクリプトを3〜4回試しました。右クリックオプションが表示されましたが、機能しませんでした。私は両方の投稿が求めたすべてを実行しました。ログアウトし、再度ログインし、再起動してみました、-q nautilus
動作していないようです。
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
ディレクトリがまだ存在しない場合は作成します
~/.local/share/nautilus/scripts
スクリプトを空のファイルにコピーし、~/.local/share/nautilus/scripts
にset_foldericons
(拡張子なし!)として保存し、右クリックしてファイルプロパティに移動し、実行可能にします。
すべてのフォルダーアイコンを非表示にする場合(誤ってフォルダーであると思わないように)、ファイル名の先頭に.
を追加します。たとえば、folder.png
は.folder.png
になります