Файл .desktop 'не отображается в списке команд' ls '

Обнаружено обходное решение, но до сих пор не понятно, почему супер ключ заблокирован от использования.

Шаги для обходного пути:

все еще не понимают, почему супер ключ заблокирован от использования. Измените ключ в CCSM на что-то без супер (должно работать).

2. Найдите новый ключ в дампе dconf. dconf dump / | less + поиск новой комбинации клавиш. Нашел что-то из следующего:

[org/compiz/profiles/unity/plugins/grid]

put-maximize-key='<Control><Alt>Up'

put-restore-key='<Control><Alt>Down'

2. 6]

3. Напишите новое значение. Пример:

dconf write /org/compiz/profiles/unity/plugins/grid/left-maximize "'<Super><Control>Left'" (см. 3. в команде)

4. Убедитесь, что оно написано правильно:

$ dconf read /org/compiz/profiles/unity/plugins/grid/left-maximize

'<Super><Control>Left'

5
задан 3 March 2018 в 17:37

9 ответов

Вместо редактирования файла .desktop, расположенного в /usr/share/applications/ (может вызвать много проблем, будет переопределено после обновления связанного пакета), вы можете сначала скопировать файл и вставить его в ~/.local/share/applications/. Затем отредактируйте скопированный файл с помощью gedit, sudo не требуется.

13
ответ дан 22 May 2018 в 12:47
  • 1
    Благодарю. Это был конфликт между именем значка vscode и именем значка vscode в теме numix. Изменено имя значка с code до vscode и исправлено проблема. (Конечно, я скопировал его в ~/.local/share/applications/). DId не использует png. – Pankaja Paranavitharana 3 March 2018 в 16:55
  • 2
    Но почему ls не перечисляет файл? – Pankaja Paranavitharana 3 March 2018 в 16:56
  • 3
    @PankajaParanavitharana ls перечисляет фактический filename.desktop, тогда как Nautilus показывает имя приложения в соответствии с полем Name= в filename.desktop. Эти два могут быть разными. Здесь в этом случае Name=Visual Studio Code в filename.desktop, но filename может быть совершенно другим. – pomsky 3 March 2018 в 17:01

Вместо редактирования файла .desktop, расположенного в /usr/share/applications/ (может вызвать много проблем, будет переопределено после обновления связанного пакета), вы можете сначала скопировать файл и вставить его в ~/.local/share/applications/. Затем отредактируйте скопированный файл с помощью gedit, sudo не требуется.

Почему ls не перечисляет файл: ls перечисляет фактический filename.desktop, тогда как Nautilus показывает имя приложения в соответствии с полем Name= в filename.desktop. Эти два могут быть разными. Здесь в этом случае Name=Visual Studio Code в filename.desktop, но filename может быть чем-то совершенно другим.

13
ответ дан 17 July 2018 в 19:38

Вместо редактирования файла .desktop, расположенного в /usr/share/applications/ (может вызвать много проблем, будет переопределено после обновления связанного пакета), вы можете сначала скопировать файл и вставить его в ~/.local/share/applications/. Затем отредактируйте скопированный файл с помощью gedit, sudo не требуется.

Почему ls не перечисляет файл: ls перечисляет фактический filename.desktop, тогда как Nautilus показывает имя приложения в соответствии с полем Name= в filename.desktop. Эти два могут быть разными. Здесь в этом случае Name=Visual Studio Code в filename.desktop, но filename может быть чем-то совершенно другим.

13
ответ дан 23 July 2018 в 20:22

Обычно имя значка в Nautilus или другом файловом менеджере, открытый в /usr/share/applications/, может быть не равно имени файла .desktop.

Правильный способ - проверить содержимое файла .desktop следующим образом :

, если мы знаем исполняемое имя (code в этом случае)
grep -ir Exec=.*code /usr/share/applications/
, если мы знаем дружественное имя (код Visual Studio)
grep -ir Name=.*Visual /usr/share/applications/

И тогда вы можете скопируйте этот файл в ~/.local/share/applications/ и отредактируйте его поле Icon= здесь.

Также вы должны прочитать спецификацию файла .desktop, чтобы знать, как это работает.

7
ответ дан 22 May 2018 в 12:47
  • 1
    Но почему ls не перечисляет имя файла? – Pankaja Paranavitharana 3 March 2018 в 16:57
  • 2
    См. Мой комментарий к вашему вопросу выше для этого. – devius 3 March 2018 в 16:59
  • 3
    Вы можете попробовать выполнить первую команду, тогда вы будете знать имя файла рабочего стола. Тогда, конечно, вы можете сделать ls /usr/share/applications/real-name-vs-code.desktop. – N0rbert 3 March 2018 в 17:00

Простой ответ, если я правильно оформляю ваши изображения, заключается в том, чтобы видеть скрытые файлы - те, у которых есть имена, начинающиеся с. - вам нужно сделать ls -a. Вы должны увидеть много таких файлов в любом стандартном домашнем каталоге * nix.

-1
ответ дан 22 May 2018 в 12:47
  • 1
    Речь идет не о скрытых файлах, см. Комментарии ниже вопроса. – pomsky 3 March 2018 в 22:59
  • 2
    @pomsky: проблема OP , возможно, не касалась скрытых файлов. Вопрос OP * определенно был. – Martin Bonner 4 March 2018 в 15:18
  • 3
    @pomsky Это зависит от того, что вы подразумеваете под «скрытым». ls по умолчанию не показывает имена файлов, начинающиеся с ., поэтому в некоторых смыслах они «скрыты». Средство просмотра файлов по умолчанию на моей работе Ubuntu 14.04 (я не знаю, является ли оно Nautilus или нет), будет показывать файлы, начинающиеся с .. – Martin Bonner 4 March 2018 в 15:27
  • 4
    @MartinBonner Еще раз не о именах файлов, начиная с ., это около .desktop файлов (пусковых установок) формы filename.desktop. .desktop - это суффикс , а не префикс. – pomsky 4 March 2018 в 15:30
  • 5
    @pomsky: Ох! Световые рассветы. Спасибо, что нашли время, чтобы объяснить. – Martin Bonner 4 March 2018 в 15:41

Простой ответ, если я правильно оформляю ваши изображения, заключается в том, чтобы видеть скрытые файлы - те, у которых есть имена, начинающиеся с. - вам нужно сделать ls -a. Вы должны увидеть много таких файлов в любом стандартном домашнем каталоге * nix.

-1
ответ дан 17 July 2018 в 19:38

Обычно имя значка в Nautilus или другом файловом менеджере, открытый в /usr/share/applications/, может быть не равно имени файла .desktop.

Правильный способ - проверить содержимое файла .desktop следующим образом :

, если мы знаем исполняемое имя (code в этом случае) grep -ir Exec=.*code /usr/share/applications/ , если мы знаем дружественное имя (код Visual Studio) grep -ir Name=.*Visual /usr/share/applications/

И тогда вы можете скопируйте этот файл в ~/.local/share/applications/ и отредактируйте его поле Icon= здесь.

Также вы должны прочитать спецификацию файла .desktop, чтобы знать, как это работает.

7
ответ дан 17 July 2018 в 19:38

Простой ответ, если я правильно оформляю ваши изображения, заключается в том, чтобы видеть скрытые файлы - те, у которых есть имена, начинающиеся с. - вам нужно сделать ls -a. Вы должны увидеть много таких файлов в любом стандартном домашнем каталоге * nix.

-1
ответ дан 23 July 2018 в 20:22
  • 1
    Речь идет не о скрытых файлах, см. Комментарии ниже вопроса. – pomsky 3 March 2018 в 22:59
  • 2
    @pomsky: проблема OP , возможно, не касалась скрытых файлов. Вопрос OP * определенно был. – Martin Bonner 4 March 2018 в 15:18
  • 3
    @pomsky Это зависит от того, что вы подразумеваете под «скрытым». ls по умолчанию не показывает имена файлов, начинающиеся с ., поэтому в некоторых смыслах они «скрыты». Средство просмотра файлов по умолчанию на моей работе Ubuntu 14.04 (я не знаю, является ли оно Nautilus или нет), будет показывать файлы, начинающиеся с .. – Martin Bonner 4 March 2018 в 15:27
  • 4
    @MartinBonner Еще раз не о именах файлов, начиная с ., это около .desktop файлов (пусковых установок) формы filename.desktop. .desktop - это суффикс , а не префикс. – pomsky 4 March 2018 в 15:30
  • 5
    @pomsky: Ох! Световые рассветы. Спасибо, что нашли время, чтобы объяснить. – Martin Bonner 4 March 2018 в 15:41

Обычно имя значка в Nautilus или другом файловом менеджере, открытый в /usr/share/applications/, может быть не равно имени файла .desktop.

Правильный способ - проверить содержимое файла .desktop следующим образом :

, если мы знаем исполняемое имя (code в этом случае) grep -ir Exec=.*code /usr/share/applications/ , если мы знаем дружественное имя (код Visual Studio) grep -ir Name=.*Visual /usr/share/applications/

И тогда вы можете скопируйте этот файл в ~/.local/share/applications/ и отредактируйте его поле Icon= здесь.

Также вы должны прочитать спецификацию файла .desktop, чтобы знать, как это работает.

7
ответ дан 23 July 2018 в 20:22
  • 1
    Но почему ls не перечисляет имя файла? – Pankaja Paranavitharana 3 March 2018 в 16:57
  • 2
    См. Мой комментарий к вашему вопросу выше для этого. – devius 3 March 2018 в 16:59
  • 3
    Вы можете попробовать выполнить первую команду, тогда вы будете знать имя файла рабочего стола. Тогда, конечно, вы можете сделать ls /usr/share/applications/real-name-vs-code.desktop. – N0rbert 3 March 2018 в 17:00

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

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