Intereting Posts
RAID 1 + 0, Solaris 10 После обновления кнопка X в заголовке больше не закрывает xterm Где сказано, как вы получаете ключ NUMLOCK по умолчанию для консоли GUI? Укажите кодировку с помощью libreoffice –convert-to csv Ограничение рекурсивных поисков «aws s3 ls» по количеству элементов в папке «mv» эквивалент перетаскивания с заменой? Клавиши курсора не перескакивают через вкладки в Vim Случайное изображение кнопки SSH изменилось при настройке Как настроить задачу ping на Antergos / Arch Linux? Какая файловая система обеспечивает лучшую защиту для защиты данных от коррупции из-за потери мощности? xscreensaver не блокирует второй экран, иногда Легкий браузер для Linux Linux перегревается на Macbook Pro 12,1 (начало 2015 года), но не на ноутбуке Asus Как безопасно предоставить не-root доступ к lib, чтобы аппаратное ускорение Catalyst могло функционировать? Как получить код выхода grep, но распечатать все строки?

Где текущие обои хранятся в Kali Linux?

У меня есть сценарий, который устанавливает одно точное изображение в качестве обоев, и я хочу, чтобы он проверялся при каждом запуске, если он все тот же. Если нет, он спрашивает, хотите ли вы снова поменять обои на это изображение. Это часть более крупного проекта, и теперь он работает следующим образом:

  1. скрипт обнаруживает, есть ли файл .config.txt в каталоге пользователя
  2. если нет, он спрашивает вас, хотите ли вы изменить свой фон
  3. .config.txt создается во время этого процесса

Я искал ответ на этот вопрос по всему Интернету. К сожалению, большинство тем относятся к Ubuntu, и они вообще не помогают. Я попробовал найти команду фона, но я не вижу ничего законного и о, мальчик, я искал большинство перечисленных каталогов. Я тоже искал в кэше, но все равно ничего.

Если вы можете установить файл с помощью

 gsettings set org.gnome.desktop.background picture-uri file:///path/to/the/file 

то вы можете получить файл с

 gsettings get org.gnome.desktop.background picture-uri 

Это даст вам строку типа 'file:///usr/share/images/desktop-base/desktop-background.xml' которая хороша, но ее нужно проанализировать, прежде чем мы сможем напрямую использовать ее в качестве аргумента для другой команды оболочки , Поэтому мы можем легко cut кавычки и file:// part with cut , например:

 gsettings get org.gnome.desktop.background picture-uri | cut -d/ -f3- | cut -d\' -f1 

(Примечание: возвращенный файл на самом деле является файлом XML для меня, но я не использую GNOME, поэтому я не знаю, как это работает в живой системе. Может быть, еще один шаг обработки, который должен произойти здесь, перед вами может начать сравнивать файлы.)

И поскольку вы уже знаете имя файла, с которым хотите сравнить, вы можете использовать cmp для сравнения этих двух файлов:

 cmp my/file.jpg "$(gsettings get org.gnome.desktop.background picture-uri | cut -d/ -f3- | cut -d\' -f1)" 

cmp установит возвращаемое значение 0 (true), если файлы одинаковые или ненулевые (false), если они разные или что-то пошло не так. Мы можем использовать это, чтобы решить, что делать дальше, возможно, используя || оператор, который будет запускать команду только в том случае, если предыдущая команда вернула ненулевое значение (false). Мы также можем подавить вывод cmp с ключом -s . Это дает нам эту команду, чтобы вы могли, например, выполнять регулярное задание cron:

 cmp -s my/file.jpg "$(gsettings get org.gnome.desktop.background picture-uri | cut -d/ -f3- | cut -d\' -f1)" || gsettings set org.gnome.desktop.background picture-uri file:///full/path/to/my/file.jpg 

Обои для рабочего стола Kali хранятся в:

/ USR / доли / изображения / настольные базы /

Текущие обои устанавливаются путем привязки /etc/alternatives/desktop-background к любому файлу .png в /usr/share/images/desktop-base/ который вы хотели бы установить; хотя вы можете связать его с .png-файлом в любой другой папке, которую вы выберете.