Вопрос или проблема
Я так стараюсь найти решение, кажется, что Nautilus убрал функцию “Звезда” из контекстного меню, поэтому, когда вы щелкаете правой кнопкой мыши на файле, вы не сможете увидеть “Звезда” в Gnome.
Я использую Linux Mint 22 с Gnome 46.
Хорошо, я создал скрипт, чтобы ставить звезды на файлы, и добавил его в Nautilus.
mkdir -p ~/.local/share/nautilus/scripts
Затем я создал новый файл скрипта.
touch ~/.local/share/nautilus/scripts/StarFile
Я отредактировал файл со следующим содержимым:
#!/bin/bash
gio set "$1" metadata::trusted true
Я сделал скрипт исполняемым:
chmod +x ~/.local/share/nautilus/scripts/StarFile
И наконец, я перезапустил Nautilus:
nautilus -q
Щелчок правой кнопкой мыши показывает Scripts -> StarFile
Изображение, которое показывает интеграцию Scripts с контекстным меню
Изображение, которое показывает добавленную функцию StarFile
Но проблема в том, что файл совсем не получает звезду, поэтому я изменил содержимое скрипта на следующее:
#!/bin/bash
gio set "$1" metadata::favorite true
gio info File.txt
display name: File.txt
edit name: File.txt
name: File.txt
type: regular
size: 282
uri: file:///home/x/File.txt
local path: /home/x/File.txt
unix mount: /dev/sda2 / ext4 rw,relatime,errors=remount-ro
attributes:
standard::type: 1
standard::is-hidden: FALSE
standard::is-backup: FALSE
standard::is-symlink: FALSE
standard::name: File.txt
standard::display-name: File.txt
standard::edit-name: File.txt
standard::copy-name: File.txt
standard::icon: text-plain, text-x-generic, text-plain-symbolic, text-x-generic-symbolic
standard::content-type: text/plain
standard::fast-content-type: text/plain
standard::size: 282
standard::allocated-size: 4096
standard::symbolic-icon: text-plain-symbolic, text-x-generic-symbolic, text-plain, text-x-generic
etag::value: 1729537107:404526:404526833
id::file: l2050:6608283
id::filesystem: l2050
access::can-read: TRUE
access::can-write: TRUE
access::can-execute: FALSE
access::can-delete: TRUE
access::can-trash: TRUE
access::can-rename: TRUE
time::modified: 1729537107
time::modified-usec: 404526
time::access: 1729537107
time::access-usec: 391526
time::changed: 1729537107
time::changed-usec: 412527
time::created: 1729537107
time::created-usec: 391526
time::modified-nsec: 404526833
time::access-nsec: 391526345
time::created-nsec: 391526345
time::changed-nsec: 412527133
unix::device: 2050
unix::inode: 6608283
unix::mode: 33204
unix::nlink: 1
unix::uid: 1000
unix::gid: 1000
unix::rdev: 0
unix::block-size: 4096
unix::blocks: 8
unix::is-mountpoint: FALSE
owner::user: x
owner::user-real: x
owner::group: x
metadata::favorite: yes
metadata::trusted: true
x@x-laptop:~$
Все это не сработало, поэтому я немного изменил скрипт, чтобы получить точный путь к файлу:
#!/bin/bash
FILE=$(realpath "$1")
echo "Файл для звездочки: $FILE"
gio set "$FILE" metadata::trusted true
gio set "$FILE" metadata::favorite true
Это тоже не сработало.
Я пробовал в терминале с множеством комбинаций, ничего не сработало.
gio set File.txt metadata::favorite true
gio set File.txt metadata::favorite yes
gio set /home/x/File.txt metadata::favorite true
gio set /home/x/File.txt metadata::favorite yes
gio set "/home/x/File.txt" metadata::favorite true
gio set "/home/x/File.txt" metadata::favorite yes
gio set "/home/x/File.txt" "metadata::favorite" true
gio set "/home/x/File.txt" "metadata::favorite" yes
Ничего не помогло.
Что я упускаю?
Ответ или решение
Проблема с отсутствием функции "Star" в Nautilus
Ваша проблема с отсутствием функции "Star" в контекстном меню Nautilus является следствием изменений, которые произошли в более поздних версиях данной файловой системы, особенно в Gnome 46. Действительно, многие пользователи столкнулись с этим изменением в Linux Mint 22, и описанный вами способ создания скрипта для добавления этой функции является разумным, но, к сожалению, он не приводит к желаемому результату. Давайте разберемся, что можно сделать для решения этой проблемы и какие шаги вы уже предприняли.
Анализ ваших действий
-
Создание скрипта: Вы правильно создали каталог для пользовательских скриптов и файл для самой функции, что является первым необходимым шагом.
mkdir -p ~/.local/share/nautilus/scripts touch ~/.local/share/nautilus/scripts/StarFile
-
Содержимое скрипта: Первое содержание вашего скрипта:
#!/bin/bash gio set "$1" metadata::trusted true
не вызывает ожидания установки метаданных «избранное», так как только устанавливает атрибут «trusted». Следующим шагом вы добавили:
#!/bin/bash gio set "$1" metadata::favorite true
Однако этот код тоже не дал результата.
-
Использование
realpath
: Ваш дальнейший шаг, связанный с использованиемrealpath
, имеет смысл для получения полного пути к файлу, но у вас возникли те же сложности.
Предложение решений
Давайте рассмотрим, что может быть причиной того, что команды gio set
не срабатывают.
-
Проверка совместимости: Убедитесь, что используемая вами версия
gio
поддерживает установку метаданных, таких какmetadata::favorite
. Для этого выполните команду:gio info --help
Это поможет вам проверить доступные метаданные.
-
Отладка скрипта: Добавьте в скрипт вывод переменной среды
$?
, чтобы проверить, действительно ли командыgio set
выполняются успешно.#!/bin/bash FILE=$(realpath "$1") echo "File to star: $FILE" gio set "$FILE" metadata::trusted true echo "Trusted status code: $?" gio set "$FILE" metadata::favorite true echo "Favorite status code: $?"
Это поможет вам выявить возможные ошибки при работе с
gio
. -
Проверка других атрибутов: Используйте
gio info
для анализа атрибутов вашего файла. Например:gio info "$FILE"
Убедитесь, что вы можете установить другие метаданные, такие как
metadata::comments
.
Полезные альтернативы
Если этот подход не сработает, возможно, стоит рассмотреть возможность использования сторонних расширений для Nautilus, которые могут предоставить функции, схожие с функцией "Star". Есть несколько расширений, которые позволяют лучше организовать файлы и добавлять свои метаданные.
Также вы можете проверить, не доступны ли функции блокировки метаданных в конфигурации Nautilus или Gnome, что может быть причиной того, что ваши изменения не сохраняются.
Заключение
Ваши усилия по восстановлению функциональности "Star" в Nautilus через создание и использование скриптов заслуживают похвалы. Тем не менее, учитывая изменяющуюся природу программного обеспечения, рекомендуется проверять совместимость и доступные функции. Применив предложенные методы отладки и выяснив, можно ли установить эти метаданные, вы сможете лучше понять проблему и, надеюсь, найти решение.
Если вам понадобятся дополнительные советы или помощь, не стесняйтесь обращаться за поддержкой к сообществу Linux Mint или Gnome.