Всякий раз, когда я запускаю приложение в терминале от имени пользователя root (например, sudo gedit /etc/default/varnish
), впоследствии, когда я открываю другой терминал, я получаю сообщение об ошибке «ls: not access .gvfs: Permission denied» в верхней строке терминала.
Я нашел решение в сети
umount /path/to/.gvfs
rm -rf .gvfs
но это только временно исправляет проблему.
Похоже, у меня есть два смонтированных экземпляра gvfs в моей системе
$ sudo mount |grep gvfs
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
Я не знаю, связано ли это с тем, что несколько месяцев назад мне пришлось изменить разрешение в моей домашней папке, например:
sudo chown -R $USER:www-data
Не могли бы вы помочь мне исправить это?
РЕДАКТИРОВАТЬ: После размонтирования /run/user/1000/gvfs
я не получаю эту ошибку.
gnome-terminal
gvfs
кенна
источник
источник
sudo
с графическими программами..gvfs
папкам пользователей всегда были интересными и (для некоторых из нас) удивительными .Ответы:
Запуск графических приложений с
sudo
помощью иногда может привести к таким проблемам.объяснение
sudo
запускает программу с правами суперпользователя (например , работают как корень), но программа все еще видит текущий домашний каталог в вашем домашнем каталоге.Таким образом, когда программное обеспечение записывает свои файлы конфигурации, оно в конечном итоге создает файлы в вашем домашнем каталоге, которые принадлежат пользователю root . В результате вы получите файлы, которые сами не можете редактировать или удалить, а также программное обеспечение, которое вы не сможете изменить, что приведет к большему количеству проблем.
Какое лучшее решение?
Существует альтернатива:
gksudo
.Этот вариант sudo будет настраивать переменные среды, такие как домашний каталог, таким образом, что сделает работу графических приложений от имени root намного безопаснее и не будет путать программы с созданием корневых файлов в вашем домашнем каталоге.
Почему это влияет на графические приложения?
Это касается не только графических приложений, но и не всех графических приложений. Это влияет на приложения, которые хранят конфигурацию в домашнем каталоге текущего пользователя. Это чаще встречается среди графических приложений.
Иногда приложения смогут определить, запускаются ли они с помощью sudo, и соответствующим образом изменить свое поведение, но это не характерно для графических приложений, которые, как правило, не ожидают запуска с помощью sudo.
Как мне решить проблему?
Вам нужно найти корневые файлы и каталоги в вашем домашнем каталоге и удалить их. На мой взгляд, лучше удалить их, чем менять владельца, поскольку они предназначены не для вашего пользователя, а для пользователя root, поэтому могут возникнуть непредвиденные последствия, если вы просто смените владельца. Вы можете, конечно, поддержать их на тот случай, если потом решите, что в них есть что-то, что вам нужно.
Чтобы найти корневые файлы в вашем домашнем каталоге:
Если у вас по-прежнему возникают проблемы с некоторыми приложениями (запускаются как пользователь), попробуйте перезагрузить компьютер, чтобы очистить
/tmp
и все еще работающее приложение. Иногда некоторые приложения могли испортить свои существующие конфигурационные файлы, и вам нужно удалить все их настройки в вашем домашнем каталоге, но, надеюсь, это не будет иметь место для многих.источник
gksudo
вместо того, чтобыsudo
при запуске графических программ.Просто дайте пользователю права на
.gvfs/
и он должен это исправить.источник