Установка ярлыков приложений на рабочий стол? [dубликат]

Отвечайте в процессе строительства, пожалуйста, будьте терпеливы

Тестирование для себя

Можно проверить права на запись для себя со следующим кодом:

[ -w /home/$USER ] && echo yes # using home directory as example

] Используя флаг -d для теста, мы можем проверить, является ли что-то каталогом.

Зная все это и find, мы можем сделать

find /home/ -print0 2> /dev/null | while IFS=""  read -r -d "" file ; do [ -d "$file"  ] &&  [ -w "$file" ]  && echo "$file" is writeable ; done

. Замечание: Очевидно, если вы получаете ошибки разрешения с помощью find, вы не можете прочитать этот файл, поэтому нет причин выводить эти ошибки, следовательно, перенаправление на dev null. Очевидно, что это не сработает, если мы хотим узнать разрешения для пользователей, отличных от себя, и обратите внимание - / home - только пример. Такие папки, как /var, имеют папки, разделяемые между несколькими пользователями

Тестирование для себя

Можно использовать stat для каждого файла find находит и отфильтровывает его с помощью awk

 find /var -type d -exec stat --format '%g %n'  {} \; 2> /dev/null | awk '$1=='1000'{print}' 

Здесь я фильтрую числовой идентификатор моего собственного пользователя, 1000, но это может быть идентификатор любого пользователя. Конечно, можно играть с опциями, использовать имя группы вместо числовых идентификаторов. Это что-то очень гибкое и адаптируемое к той цели, в которой вы нуждаетесь

Небольшие настройки

Итак, я заметил, что вы упоминаете, что вы вошли в систему под именем root. Вот результат моей команды, где я статирую файлы и печатаю их группу и имя файла, а затем отфильтровываю AWK с помощью соответствующего имени группы.

$ find /proc -type d -exec stat --format '%G %n'  {} \; 2> /dev/null  | awk '$1=="syslog"{print}'
syslog /proc/560
syslog /proc/560/task
syslog /proc/560/task/560
syslog /proc/560/task/560/net
syslog /proc/560/task/560/attr
syslog /proc/560/task/562
syslog /proc/560/task/562/net
syslog /proc/560/task/562/attr
syslog /proc/560/task/563
syslog /proc/560/task/563/net
syslog /proc/560/task/563/attr
syslog /proc/560/task/564
syslog /proc/560/task/564/net
syslog /proc/560/task/564/attr
syslog /proc/560/net
syslog /proc/560/attr
^C
1
задан 8 December 2017 в 20:48

2 ответа

Вы можете создать простой файл .desktop (например rhythmbox.desktop) на рабочем столе с таким содержимым:

[Desktop Entry] Comment=Any comment you like Terminal=false Name=Rhythmbox Exec=path/to/Rhythmbox/binary Type=Application Icon=path/to/Rhythmbox/icon NoDisplay=false

Вы можете использовать Exec=rhythmbox %U, Icon=rhythmbox в случае Rhythmbox в

В качестве альтернативы вы можете скопировать предназначенный файл .desktop на Рабочий стол с /usr/share/applications/.

Затем щелкните правой кнопкой мыши по файлу .desktop и установите флажок «Разрешить выполнение файла как программы "в разделе« Разрешения ».

1
ответ дан 18 July 2018 в 01:35

Вы можете создать простой файл .desktop (например rhythmbox.desktop) на рабочем столе с таким содержимым:

[Desktop Entry] Comment=Any comment you like Terminal=false Name=Rhythmbox Exec=path/to/Rhythmbox/binary Type=Application Icon=path/to/Rhythmbox/icon NoDisplay=false

Вы можете использовать Exec=rhythmbox %U, Icon=rhythmbox в случае Rhythmbox в

В качестве альтернативы вы можете скопировать предназначенный файл .desktop на Рабочий стол с /usr/share/applications/.

Затем щелкните правой кнопкой мыши по файлу .desktop и установите флажок «Разрешить выполнение файла как программы "в разделе« Разрешения ».

1
ответ дан 24 July 2018 в 17:25
  • 1
    У Rhythmbox есть собственный файл .desktop, нет необходимости создавать другой. – Jacob Vlijm 8 December 2017 в 21:25
  • 2
    @JacobVlijm Ах, да! Я добавил это тоже. – pomsky 8 December 2017 в 21:28

Другие вопросы по тегам:

Похожие вопросы: