iceweaselアイコンのエラーを修正するために小さなスクリプトを起動しようとしています。
ここにスクリプトがあります。回避策として見つけることができます。バグレポートから
for n in 16 32 48; do inkscape -z -w $n -h $n -e
/usr/share/iceweasel/browser/chrome/icons/default/default${n}.png
/usr/share/icons/hicolor/scalable/apps/iceweasel.svg; done
for n in 16 32 48 64 128; do inkscape -z -w $n -h $n -e
/usr/share/icons/hicolor/${n}x${n}/apps/iceweasel.png
/usr/share/icons/hicolor/scalable/apps/iceweasel.svg; done
tempiceweasel.sh
上記の行を含むファイルを作成しました。実行権限を付与しました。
# chmod +x tempiceweasel.sh
# ls -la tempiceweasel.sh
-rwxr-xr-x 1 user user 349 mars 9 16:33 tempiceweasel.sh
スクリプトを起動すると権限エラーが発生します。
# ./scripts/tempiceweasel.sh
Nothing to do!
./scripts/tempiceweasel.sh: ligne 3: /usr/share/iceweasel/browser/chrome/icons/default/default16.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 4: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 3: /usr/share/iceweasel/browser/chrome/icons/default/default32.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 4: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 3: /usr/share/iceweasel/browser/chrome/icons/default/default48.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 4: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 7: /usr/share/icons/hicolor/16x16/apps/iceweasel.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 8: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 7: /usr/share/icons/hicolor/32x32/apps/iceweasel.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 8: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 7: /usr/share/icons/hicolor/48x48/apps/iceweasel.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 8: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 7: /usr/share/icons/hicolor/64x64/apps/iceweasel.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 8: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
Nothing to do!
./scripts/tempiceweasel.sh: ligne 7: /usr/share/icons/hicolor/128x128/apps/iceweasel.png: Permission non accordée
./scripts/tempiceweasel.sh: ligne 8: /usr/share/icons/hicolor/scalable/apps/iceweasel.svg: Permission non accordée
このディレクトリにファイルを書き込む権限がないようです。なぜrootとして実行されているのか理解できず、これらのファイルに対する権限は次のとおりです。
-rw-r--r-- 1 root root 93 févr. 14 14:25 default16.png
-rw-r--r-- 1 root root 325 févr. 14 14:25 default32.png
-rw-r--r-- 1 root root 1845 févr. 14 14:25 default48.png
なぜこのファイルに書き込めないのかご存知ですか?
ベストアンサー1
コピーして貼り付けるコマンドは、1行のコマンドでなければなりません。代わりに3つの行に分けられます。したがって、各コマンドは実行するコマンドと同じです。
# for n in 16 32 48; do inkscape -z -w $n -h $n -e
# /usr/share/iceweasel/browser/chrome/icons/default/default${n}.png
# /usr/share/icons/hicolor/scalable/apps/iceweasel.svg; done
したがって、デフォルトでは、ループの各ステップでinkscapeを実行しようとした後に実行されます。イメージファイルを実行ファイルとして実行してみてください。その後、svgファイルに対して同じ操作を試みます。もちろん、権限に対するエラーが発生するのは、イメージに実行権限がないためです。 「何もしない」は、パラメータが欠落しているinkscapeから来ています。
3行はすべて同じ行になければなりません。あるいは、単一のコマンドではなくシェルスクリプトを作成するので、それを作成するためのより適切な方法は次のとおりです。
for n in 16 32 48
do
inkscape -z -w $n -h $n -e \
/usr/share/iceweasel/browser/chrome/icons/default/default${n}.png \
/usr/share/icons/hicolor/scalable/apps/iceweasel.svg
done
行末のバックスラッシュを参照してください。これは、次の行が現在の行の連続であることを意味します。 2番目のループにも同じことが当てはまります。