[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:57496] Re: PICTURESフォルダがないときに、gnome-screenshotの保存先を指定するには



安達です

gnome-screenshot がスクリーンショットをファイルに保存する際、
以下の3つを上から順に試しているようです。

auto_save_directory
   ・「file://」で始まるパスで指定する
   ・「~」で始めると内部で展開されて、先頭に「file://」がつかない(バグ?)

default_screenshot_dir
 ・XDG_PICTURES_DIR の値「"$HOME/画像"」が使われる
   ・「file:///home/username/画像」

fallback_screenshot_dir
 ・$HOME が使われる
 ・「file:///home/username」

今はユーザの「画像」フォルダに保存されているとのことなので、
default_screenshot_dir が使われていると思います。
auto-save-directory の設定を使うのを諦めて、
代わりに fallback_screenshot_dir を使う条件を整えれば、
期待している動作になると思います。
なるほど。ありがとうございます。
default_screenshot_dirまでで指定がなければfallbackに
なると期待したいところですがね。

こちらで試したところ、以下のようになりました。
ご参考になれば幸いです。
* XDG_PICTURES_DIR を空文字にする => ファイルは保存されない
* XDG_PICTURES_DIR を"$HOME"にする => $HOME に保存される
* XDG_PICTURES_DIR を存在しないディレクトリ "$HOME/xxx" にする => $HOME に保存される

調べていただいたのを読んでいままで見ていなかった
.config/user-dirs.dirs を見てみました。
>> 一度xdg-user-dirsの画像フォルダを有効にすると
>> (ディレクトリを作るだけではだめ)
>> その後無効にしても、
>> スクリーンショットを保存するようになります。
この時に、.config/user-dirs.dirs の中に
XDG_PICTURES_DIR="$HOME/画像"
の行が残ります。これで
> * XDG_PICTURES_DIR を存在しないディレクトリ "$HOME/xxx" にする => $HOME に保存される
ということだったんですね。
この行をなくしたり、="" と書きなおすと保存されないことも確認しました。

私の今までの方法だと
/etc/xdg/user-dirs.defaultsを画像フォルダを作らないように
するので、.config/user-dirs.dirs の中に
XDG_PICTURES_DIR=
の行ができません。これでfallback_にならないのは困りますね。

/etc/xdg/user-dirs.defaultsにはもともと
PICTURES=Pictures
とあって、これで$HOME/画像になっています
これを削除(実は#をつけて)しているのですが、
なにか指定すると、そのディレクトリを作ってしまうわけで
存在しないディレクトリを指定するというのは困難。
$HOME にするのは
PICTURES=
と指定するのでしょうかね。
うまく行くかもしれませんが不具合が出そう。

素直に画像フォルダを作らせるか
ログイン時にでもスクリプトで
XDG_PICTURES_DIR="hoge"
とでも行を加えるかですね。

おかげさまで原因がはっきりわかり、対策もできそうです。
ありがとうございました。
いつか改良されると嬉しいのですが。

--
安達 順一
  adachi@xxxxxxxxxxx