Если я понимаю Ваш вопрос правильно, Вы могли бы сделать что-то как:
wget -qO- 'https://www.gravatar.com/avatar/22e8a29fced165b37995aa5e05e6449b?s=32&d=identicon&r=PG' |
anytopnm |
tail -n +4 |
perl -ne 'BEGIN{$/=\3}
($r,$g,$b)=unpack"C3";$ar+=$r;$ag+=$g;$ab+=$b
END{printf "#%02x%02x%02x\n", $ar/$.,$ag/$.,$ab/$.}'
Который для Вашего аватара () дает: #c350c2
(некоторые светло-красные во время записи).
Это принимает anytopnm
всегда возвраты a PNM
в P6
формат. Могли бы быть случаи, где это не делает такого как тогда, когда изображение является шкалой полутонов, в этом случае convert - ppm:-
от ImageMagick может быть более безопасным.
Похоже, все, что вам нужно сделать, это распаковать архив .deb
, добавить файл .desktop
и перестроить пакет. Это довольно простой процесс. Чтобы извлечь:
dpkg-deb -R package.deb extract_dir
Примечание -R
- это необработанный экстракт для получения управляющих файлов. Затем создайте / usr / share / applications /
, если он еще не существует:
mkdir -p extract_dir/usr/share/applications/
Затем просто добавьте свой файл .desktop
(будьте осторожны, имя не будет конфликтовать с чем-либо еще, что вы, вероятно, установите) и перестроите:
cp desktop_file.desktop extract_dir/usr/share/applications/
dpkg-deb -b extract_dir package_new.deb
Обратите внимание, что вы также можете использовать dpkg-deb -b extract_dir.
, чтобы создать пакет с его каноническим именем, но вам, вероятно, придется сначала убрать исходный файл, иначе он будет затерт.
'postinst': Это обычный скрипт оболочки, содержащий все команды, которые будут выполняется (по порядку) после установки пакета. dpkg будет запустите это автоматически.
Итак, всё, что вам нужно сделать, это создать скрипт оболочки перед упаковкой вашего пакета исходных текстов в двоичный пакет, назвать его 'postinst' и поместить его в каталог debian.Читайте подробнее об этом: [11674]https://askubuntu. com/questions/101962/script-to-only-execute-during-first-install-of-a-package