Gnome Shellリソースの抽出

Gnome Shellリソースの抽出

gresource extract次のスクリプトを使用してgnome-shellリソースを抽出しようとしています。

#!/bin/bash
declare -a n;
n=$(gresource list gnome-shell-theme.gresource | cat | tr '\n' ' ')
for r in ${n[@]}
do
gresource extract gnome-shell-theme.gresource ${r}>${r/#\/org\/gnome\/shell/.}
done

しかし、エラーが発生しました。

./extractshell.sh: line 6: ./theme/icons/eye-not-looking-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/eye-open-negative-filled-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/keyboard-caps-lock-filled-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/keyboard-enter-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/keyboard-hide-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/keyboard-layout-filled-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/keyboard-shift-filled-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/message-indicator-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/pointer-double-click-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/pointer-drag-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/pointer-primary-click-symbolic.svg: No such file or directory
./extractshell.sh: line 6: ./theme/icons/pointer-secondary-click-symbolic.svg: No such file or directory

gresource list gnome-shell-theme.gresource出力は次のとおりです。

/org/gnome/shell/theme/calendar-today.svg
/org/gnome/shell/theme/checkbox-focused.svg
/org/gnome/shell/theme/checkbox-off-focused.svg
/org/gnome/shell/theme/checkbox-off.svg
/org/gnome/shell/theme/checkbox.svg
/org/gnome/shell/theme/dash-placeholder.svg
/org/gnome/shell/theme/gnome-shell-high-contrast.css
/org/gnome/shell/theme/gnome-shell.css
/org/gnome/shell/theme/icons/eye-not-looking-symbolic.svg
/org/gnome/shell/theme/icons/eye-open-negative-filled-symbolic.svg
/org/gnome/shell/theme/icons/keyboard-caps-lock-filled-symbolic.svg
/org/gnome/shell/theme/icons/keyboard-enter-symbolic.svg
/org/gnome/shell/theme/icons/keyboard-hide-symbolic.svg
/org/gnome/shell/theme/icons/keyboard-layout-filled-symbolic.svg
/org/gnome/shell/theme/icons/keyboard-shift-filled-symbolic.svg
/org/gnome/shell/theme/icons/message-indicator-symbolic.svg
/org/gnome/shell/theme/icons/pointer-double-click-symbolic.svg
/org/gnome/shell/theme/icons/pointer-drag-symbolic.svg
/org/gnome/shell/theme/icons/pointer-primary-click-symbolic.svg
/org/gnome/shell/theme/icons/pointer-secondary-click-symbolic.svg
/org/gnome/shell/theme/no-events.svg
/org/gnome/shell/theme/no-notifications.svg
/org/gnome/shell/theme/pad-osd.css
/org/gnome/shell/theme/process-working.svg
/org/gnome/shell/theme/toggle-off-dark.svg
/org/gnome/shell/theme/toggle-off-hc.svg
/org/gnome/shell/theme/toggle-off.svg
/org/gnome/shell/theme/toggle-on-dark.svg
/org/gnome/shell/theme/toggle-on-hc.svg
/org/gnome/shell/theme/toggle-on.svg

リスト出力にこれらのファイルがあると表示されたときになぜこれが起こるのかわかりません。私のbashスクリプトがめちゃくちゃになったのか、それとも理由は何ですか?ありがとうございます。 PS - 私はgnome-shellをカスタマイズしたい初心者です。

ベストアンサー1

残りも抽出された。リソースリストを配列にハードコーディングし、ファイル名とともに直接出力しました。

declare -a new;
new=(/org/gnome/shell/theme/icons/eye-not-looking-symbolic.svg /org/gnome/shell/theme/icons/eye-open-negative-filled-symbolic.svg /org/gnome/shell/theme/icons/keyboard-caps-lock-filled-symbolic.svg /org/gnome/shell/theme/icons/keyboard-enter-symbolic.svg /org/gnome/shell/theme/icons/keyboard-hide-symbolic.svg /org/gnome/shell/theme/icons/keyboard-layout-filled-symbolic.svg /org/gnome/shell/theme/icons/message-indicator-symbolic.svg /org/gnome/shell/theme/icons/pointer-double-click-symbolic.svg /org/gnome/shell/theme/icons/keyboard-shift-filled-symbolic.svg /org/gnome/shell/theme/icons/pointer-drag-symbolic.svg /org/gnome/shell/theme/icons/pointer-primary-click-symbolic.svg /org/gnome/shell/theme/icons/pointer-secondary-click-symbolic.svg);

for r in ${new[@]}
do
    gresource extract gnome-shell-theme.gresource ${r}>`echo ${r:29}`
done

ありがとうございます。これでマップファイルについても知りました。 @クワジモド

おすすめ記事