Рассмотрим работу этого однострочника, может кому-нибудь, например новичкам, пригодится.
1) Считаем количество обоин, для этого используем программу wc с параметром -l которая подсчитает количество строк вывода команды ls ~/wallpapers/*z.jpg
ls ~/wallpapers/*z.jpg | wc -l
2) Генерируем случайное число так, чтобы это число не превышало количество файлов обоин в папке.
$[RANDOM%$(ls ~/wallpapers/*z.jpg | wc -l)]
3) Но RANDOM генерирует числа начиная с нуля, и не затрагивает максимальное число, то есть номер последней обоины, поэтому прибавляем к получившемуся сгенерированному числу еденичку.
4) Из вывода ls ~/wallpapers*z.jpg берём строку под случайным номером, который только что сгенерировали, эта строка будет содержать путь к файлу обоины.
Теперь можно поставить эту команду на хоткей или добавить в crontab и не нужно устанавливать какие-то специальные утилиты, если вы хотите видеть каждый день что-нибудь новое на своём рабочем столе ;)
Update
Товарищ muhas предложил более простой вариант. Краснею и прилагаю более Ъ версию однострочника: я конечно извиняюсь за занудство, но зачем два раза вызвать ls, можно же всё сделать намного проще и короче и даже не вызывая sed
выводим шапку из одной строки (можно и tail -n 1, т.е. одну строку снизу или sed'ом awk'ом обрабатывать строки - но тут не принципиально ибо всё-равно рандомная сортировка) собственно весь вывод ls (sort и head) можно обработать одной командой awk но это для гурманов, ибо авк язык не простой - но мощьный(я сам осилил меньше минимума, честно)...
херь взятая в кавычки ` означает что вместо этого подставлять результат выполнения команды а не саму команду (аналог $(команда)) параметр для feh означает центрирование картинки, есть ещё --bg-scale для растягивания и прочие...
Да, Я Зануда, но команда из поста мне показалась огромной и нерациональной...