「Feh」の版間の差分
(→画像ビューア: 項目を整理) |
(→デスクトップの壁紙マネージャ: 情報を更新) |
||
34行目: | 34行目: | ||
{{Tip|{{ic|--start-at}} オプションは、選択した画像を feh に表示し、ディレクトリ内の他のすべての画像もデフォルトの順序で参照できるようにします。つまり、{{ic|feh *}} を実行して循環して選んだ画像まで。たとえば、{{ic|feh --start-at ./foo.jpg .}} は、{{ic|''foo''.jpg}} で始まる、現在のディレクトリ内のすべての画像を表示します。}} |
{{Tip|{{ic|--start-at}} オプションは、選択した画像を feh に表示し、ディレクトリ内の他のすべての画像もデフォルトの順序で参照できるようにします。つまり、{{ic|feh *}} を実行して循環して選んだ画像まで。たとえば、{{ic|feh --start-at ./foo.jpg .}} は、{{ic|''foo''.jpg}} で始まる、現在のディレクトリ内のすべての画像を表示します。}} |
||
− | === |
+ | === 壁紙を設定する === |
feh は [[Openbox]], [[Fluxbox]], [[xmonad]] などのデスクトップ機能がないウィンドウマネージャの壁紙を管理するのに使えます。 |
feh は [[Openbox]], [[Fluxbox]], [[xmonad]] などのデスクトップ機能がないウィンドウマネージャの壁紙を管理するのに使えます。 |
||
− | |||
− | [[GNOME]] を使用している場合、GNOME Files がデスクトップを管理しないようにする必要があります。それには次のコマンドを実行するのが一番簡単です: |
||
− | |||
− | {{bc|$ gconftool-2 --set /apps/nautilus/preferences/show_desktop --type boolean false}} |
||
以下のコマンドは最初の壁紙を設定する例です: |
以下のコマンドは最初の壁紙を設定する例です: |
||
55行目: | 51行目: | ||
次のセッション時に壁紙をまた設定するには、スタートアップファイルに以下を追加してください (例: {{ic|~/.xinitrc}}, {{ic|~/.config/openbox/autostart}} など): |
次のセッション時に壁紙をまた設定するには、スタートアップファイルに以下を追加してください (例: {{ic|~/.xinitrc}}, {{ic|~/.config/openbox/autostart}} など): |
||
+ | |||
− | {{bc|$ sh ~/.fehbg &}} |
||
+ | ~/.fehbg & |
||
壁紙画像を変更するには、上記の {{Ic|feh --bg-scale /path/to/image.file}} コマンドを実行した後に作成される {{ic|~/.fehbg}} ファイルを編集してください。 |
壁紙画像を変更するには、上記の {{Ic|feh --bg-scale /path/to/image.file}} コマンドを実行した後に作成される {{ic|~/.fehbg}} ファイルを編集してください。 |
||
+ | |||
+ | {{ic|--no-fehbg}} フラグを渡すことで、{{ic|~/.fehbg}} の作成を明示的に無効にすることもできます。 |
||
+ | |||
+ | 異なるモニターに異なる壁紙をセットアップするには、使用可能なモニターの数と同じ数のファイル パスを渡す必要があります。たとえば、デュアルモニター設定の場合は次のようになります。 |
||
+ | |||
+ | $ feh --bg-center ''path/to/file/for/first/monitor path/to/file/for/second/monitor'' |
||
===SVG 画像を開く=== |
===SVG 画像を開く=== |
2023年4月11日 (火) 21:03時点における版
feh は軽量かつ強力な画像ビューアであり、壁紙を管理する機能がないスタンドアロンのウィンドウマネージャの壁紙管理にも使えます。
目次
インストール
使用法
feh は細かく設定することができます。オプションの完全なリストを見るには、feh --help
を実行するか feh(1) man ページを参照してください。
画像ビューア
特定のディレクトリの画像をすばやく見るには、以下の引数をつけて feh を起動します:
$ feh -g 640x480 -d -S filename /path/to/directory
-g
フラグは画像を強制的に 640x480 以下で表示します-d
フラグはファイル名を表示します-S filename
フラグは画像をファイル名でソートします
これはほんの一例です。柔軟性を高めたい場合は、さらに多くのオプションを利用できます。
壁紙を設定する
feh は Openbox, Fluxbox, xmonad などのデスクトップ機能がないウィンドウマネージャの壁紙を管理するのに使えます。
以下のコマンドは最初の壁紙を設定する例です:
$ feh --bg-scale /path/to/image.file
他にも以下のようなスケーリングオプションがあります:
--bg-tile FILE --bg-center FILE --bg-max FILE --bg-fill FILE
次のセッション時に壁紙をまた設定するには、スタートアップファイルに以下を追加してください (例: ~/.xinitrc
, ~/.config/openbox/autostart
など):
~/.fehbg &
壁紙画像を変更するには、上記の feh --bg-scale /path/to/image.file
コマンドを実行した後に作成される ~/.fehbg
ファイルを編集してください。
--no-fehbg
フラグを渡すことで、~/.fehbg
の作成を明示的に無効にすることもできます。
異なるモニターに異なる壁紙をセットアップするには、使用可能なモニターの数と同じ数のファイル パスを渡す必要があります。たとえば、デュアルモニター設定の場合は次のようになります。
$ feh --bg-center path/to/file/for/first/monitor path/to/file/for/second/monitor
SVG 画像を開く
$ feh --conversion-timeout 1 file.svg
imagemagick が必要です。
ランダム壁紙画像
--bg-foo
オプションのどれかと --randomize
オプションを使うことでランダムに壁紙を feh で設定することができます、例えば:
$ feh --randomize --bg-fill ~/.wallpaper/*
上記のコマンドは ~/.wallpaper/
ディレクトリのファイルからランダムで画像を壁紙に設定します。もしくは、壁紙をサブフォルダに分割している場合は、再帰的に実行することもできます:
$ feh --recursive --randomize --bg-fill ~/.wallpaper
セッションごとに ~/.wallpaper
から異なる壁紙をランダムに設定するには、以下を .xinitrc
に追加します:
$ feh --bg-max --randomize ~/.wallpaper/* &
以下のように .fehbg
を編集することでもランダムに壁紙を設定できます:
$HOME/.fehbg
feh --bg-max --randomize --no-fehbg ~/.wallpaper/*
定期的に壁紙を変更するには、スクリプトや cron ジョブ、または systemd のサービスなどを使って、一定間隔でコマンドを実行してください。
スクリプトを使用
壁紙をランダムに表示するには、以下のコードでスクリプトを作成します (例: wallpaper.sh
)。スクリプトには実行可能属性を付与してください:
$ chmod +x wallpaper.sh
~/.xinitrc
からスクリプトを呼び出して下さい。もしくは別のファイルを作らないで ~/.xinitrc
に直接ソースを記述することもできます。
~/.wallpaper
ディレクトリや 15m
という時間はを必要に応じて変更してください (オプションは man sleep
を参照)。
wallpaper.sh
#!/bin/sh while true; do find ~/.wallpaper -type f \( -name '*.jpg' -o -name '*.png' \) -print0 | shuf -n1 -z | xargs -0 feh --bg-max sleep 15m done
find ~/.wallpaper
を find ~/.wallpaper/
に変更する必要があるかもしれません。
以下のバージョンは大して変わっていませんが、ディレクトリを再帰的に検索しません:
wallpaper.sh
#!/bin/bash shopt -s nullglob cd ~/.wallpaper while true; do files=() for i in *.jpg *.png; do [[ -f $i ]] && files+=("$i") done range=${#files[@]} ((range)) && feh --bg-scale "${files[RANDOM % range]}" sleep 15m done
xinerama 以外のデュアルスクリーン
このスクリプトは nvidia twinview (など) のデュアルスクリーン環境で壁紙を追加できるように feh の実行を変えています。
wallpaper.sh
#!/bin/sh exec feh --bg-max --no-xinerama "$@"
cron ジョブを使用
cron ジョブを使うことで同じようなことができ、継続的にスクリプトを sleep させる必要はなくなります。
$ crontab -e
を実行して以下を追加:
* * * * * DISPLAY=:0.0 feh --bg-max "$(find ~/.wallpaper/|shuf -n1)"
systemd ユーザーセッションを使用
ユニットサービスファイルを作成:
$HOME/.config/systemd/user/feh-wallpaper.service
[Unit] Description=Random wallpaper with feh [Service] Type=oneshot EnvironmentFile=%h/.wallpaper ExecStart=/bin/bash -c '/usr/bin/feh --bg-max "$(find ${WALLPATH}|shuf|head -n 1)"' [Install] WantedBy=default.target
そしてタイマーファイルを作成。時間は必要に応じて変更して下さい。この例では 15 seconds
になっています。
$HOME/.config/systemd/user/feh-wallpaper.timer
[Unit] Description=Random wallpaper with feh [Timer] OnUnitActiveSec=15s Unit=feh-wallpaper.service [Install] WantedBy=default.target
この例ではホームディレクトリの隠しファイルで設定を行い、画像が保存されているディレクトリのパスを指定します。
$HOME/.wallpaper
WALLPATH=/home/user/.wallpaper/
feh-wallpaper.timer
を有効化して下さい。詳しくは systemd/タイマー#管理を参照。