【cygwin】飽きの来ない背景画像にしたい。
-
2020-08-13
USERもHOMEもcron実行中は未設定になるようです。
1. 背景
- 飽きの来ない、Windows10の背景画像を求める。
2. 方針
- Windowsスポットライトの画像を使ってスライドショーにする。
- もしかしたら便利なソフトがあるかもしれなけど、cygwin+cronで解決したい。
- Sylphyhornはcygwinを使う場合に問題がある。
3. Windows10の設定
3.1. Windows スポットライト
- 【Win】キー
- 設定→個人用設定→ロック画面
- 「Windows スポットライト」にする
3.2. スラライドショー
- 【Win】キー
- 設定→個人用設定→背景
- 「スライドショー」にする
4. スクリプト
-
$HOME/logs
ディレクトリがある前提
-
exiftool
は別途インストールしてください。
- これがないと縦長の画像も背景になります。
-
cron
で動きます。→エラーになっていました…orz(修正)
#!/usr/bin/bash
########## DEFINE
readonly BASENAME=`basename $0 | cut -d. -f1`
readonly LOG_FILE="$HOME/logs/${BASENAME}.log.`date '+%Y%m'`"
#readonly THE_NAME=`basename $HOME`
readonly THE_NAME="username"
readonly SRC_DIR="/cygdrive/c/Users/$THE_NAME/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets"
readonly DST_DIR="/cygdrive/c/Users/$THE_NAME/Documents/Background"
readonly EXIFCMD="/cygdrive/c/Local/bin/exiftool"
readonly IMG_SIZE="1920x1080"
########## MAIN
_copy_()
{
local jpg dst size
date '+%Y/%m/%d %H:%M:%S start'
for jpg in `find . -mtime -21 -size +300k -print`
do
dst=$DST_DIR/`echo ${jpg} | cut -c3-12`.jpg
if [ -f $dst ]
then
echo "found: $jpg"
else
size=`$EXIFCMD $jpg | egrep '^Image Size ' | sed -e 's/\r$//; s/^.*: //;'`
if [ $size = $IMG_SIZE ]
then
echo "copy: $jpg"
cp $jpg $dst
else
echo "skip: $jpg"
fi
fi
done
date '+%Y/%m/%d %H:%M:%S done'
}
##########
main()
{
local mode rtn
mode=$1
[ ${mode:-__null__} = "debug" ] \
&& ( _copy_ || rtn=$? ) \
|| ( _copy_ >> $LOG_FILE 2>&1 || rtn=$? )
if [ ${rtn:-0} != 0 ]
then
echo "_copy_: error: rtn=$rtn"
fi
return $rtn
}
########## EXEC
cd $SRC_DIR
main "$@"
exit $?
########## END
5. 備考
5.1. Sylphyhorn
- 仮想デスクトップ毎に背景画像を変えてくれるソフト。なかなか良いです。
- 切り替え直後、体感で3秒くらいcygwinが入力を受け付けなくなるので諦めました。
以上
- Windowsスポットライトの画像を使ってスライドショーにする。
- もしかしたら便利なソフトがあるかもしれなけど、cygwin+cronで解決したい。
- Sylphyhornはcygwinを使う場合に問題がある。
3. Windows10の設定
3.1. Windows スポットライト
- 【Win】キー
- 設定→個人用設定→ロック画面
- 「Windows スポットライト」にする
3.2. スラライドショー
- 【Win】キー
- 設定→個人用設定→背景
- 「スライドショー」にする
4. スクリプト
-
$HOME/logs
ディレクトリがある前提
-
exiftool
は別途インストールしてください。
- これがないと縦長の画像も背景になります。
-
cron
で動きます。→エラーになっていました…orz(修正)
#!/usr/bin/bash
########## DEFINE
readonly BASENAME=`basename $0 | cut -d. -f1`
readonly LOG_FILE="$HOME/logs/${BASENAME}.log.`date '+%Y%m'`"
#readonly THE_NAME=`basename $HOME`
readonly THE_NAME="username"
readonly SRC_DIR="/cygdrive/c/Users/$THE_NAME/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets"
readonly DST_DIR="/cygdrive/c/Users/$THE_NAME/Documents/Background"
readonly EXIFCMD="/cygdrive/c/Local/bin/exiftool"
readonly IMG_SIZE="1920x1080"
########## MAIN
_copy_()
{
local jpg dst size
date '+%Y/%m/%d %H:%M:%S start'
for jpg in `find . -mtime -21 -size +300k -print`
do
dst=$DST_DIR/`echo ${jpg} | cut -c3-12`.jpg
if [ -f $dst ]
then
echo "found: $jpg"
else
size=`$EXIFCMD $jpg | egrep '^Image Size ' | sed -e 's/\r$//; s/^.*: //;'`
if [ $size = $IMG_SIZE ]
then
echo "copy: $jpg"
cp $jpg $dst
else
echo "skip: $jpg"
fi
fi
done
date '+%Y/%m/%d %H:%M:%S done'
}
##########
main()
{
local mode rtn
mode=$1
[ ${mode:-__null__} = "debug" ] \
&& ( _copy_ || rtn=$? ) \
|| ( _copy_ >> $LOG_FILE 2>&1 || rtn=$? )
if [ ${rtn:-0} != 0 ]
then
echo "_copy_: error: rtn=$rtn"
fi
return $rtn
}
########## EXEC
cd $SRC_DIR
main "$@"
exit $?
########## END
5. 備考
5.1. Sylphyhorn
- 仮想デスクトップ毎に背景画像を変えてくれるソフト。なかなか良いです。
- 切り替え直後、体感で3秒くらいcygwinが入力を受け付けなくなるので諦めました。
以上
-
$HOME/logs
ディレクトリがある前提 -
exiftool
は別途インストールしてください。- これがないと縦長の画像も背景になります。
-
cron
で動きます。→エラーになっていました…orz(修正)
#!/usr/bin/bash
########## DEFINE
readonly BASENAME=`basename $0 | cut -d. -f1`
readonly LOG_FILE="$HOME/logs/${BASENAME}.log.`date '+%Y%m'`"
#readonly THE_NAME=`basename $HOME`
readonly THE_NAME="username"
readonly SRC_DIR="/cygdrive/c/Users/$THE_NAME/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets"
readonly DST_DIR="/cygdrive/c/Users/$THE_NAME/Documents/Background"
readonly EXIFCMD="/cygdrive/c/Local/bin/exiftool"
readonly IMG_SIZE="1920x1080"
########## MAIN
_copy_()
{
local jpg dst size
date '+%Y/%m/%d %H:%M:%S start'
for jpg in `find . -mtime -21 -size +300k -print`
do
dst=$DST_DIR/`echo ${jpg} | cut -c3-12`.jpg
if [ -f $dst ]
then
echo "found: $jpg"
else
size=`$EXIFCMD $jpg | egrep '^Image Size ' | sed -e 's/\r$//; s/^.*: //;'`
if [ $size = $IMG_SIZE ]
then
echo "copy: $jpg"
cp $jpg $dst
else
echo "skip: $jpg"
fi
fi
done
date '+%Y/%m/%d %H:%M:%S done'
}
##########
main()
{
local mode rtn
mode=$1
[ ${mode:-__null__} = "debug" ] \
&& ( _copy_ || rtn=$? ) \
|| ( _copy_ >> $LOG_FILE 2>&1 || rtn=$? )
if [ ${rtn:-0} != 0 ]
then
echo "_copy_: error: rtn=$rtn"
fi
return $rtn
}
########## EXEC
cd $SRC_DIR
main "$@"
exit $?
########## END
5. 備考
5.1. Sylphyhorn
- 仮想デスクトップ毎に背景画像を変えてくれるソフト。なかなか良いです。
- 切り替え直後、体感で3秒くらいcygwinが入力を受け付けなくなるので諦めました。
以上
Author And Source
この問題について(【cygwin】飽きの来ない背景画像にしたい。), 我々は、より多くの情報をここで見つけました https://qiita.com/koKekkoh/items/497e8a5b6a676f7d1dc1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .