Я просто обнаружил причину, и это был набор обстоятельств:
В первую очередь, я не знаю точно почему, но sudo
не захватывал HOME
переменная среды правильно и используемый та обычного пользователя, таким образом, это читало .vimrc
от /home/user/.vimrc.
Для наблюдения этого я вышел:
user@hostname:~$ sudo bash
[sudo] password for user:
root@hostname:/home/user# echo $HOME
/home/user
Во-вторых, у меня есть складная персистентность, включенная в vimrc файле моего пользователя для хранения позиции курсора:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
Это делает тот каждый раз, когда файл редактируется, файл свойств создается внутри $HOME/.vim/view
папка. В моем случае похоже, что я пытался отредактировать файл без sudo
в первый раз, таким образом, складной файл был создан как обычный пользователь:
user@hostname:~$ ll .vim/view/ | grep thunderbird.sh
-rw-rw-r-- 1 user user 2650 Aug 20 15:56 =+usr=+lib=+thunderbird=+thunderbird.sh=
Так как корень взял /home/user
как $HOME
, тот же файл сворачивания (неправильно) использовался, когда я вышел sudo vim
, и по некоторым причинам что я игнорирую, вероятный связанный с внутренностями энергии, если складной файл не принадлежит пользователю редактирования, отредактированный файл открыт в Режиме только для чтения.
Так, я понял это, если я удалил файл /home/user/.vim/view/=+usr=+lib=+thunderbird=+thunderbird.sh=
и затем попробованный для редактирования использования sudo vim,
У меня не было проблем вообще.
Так, в конце истории, для фиксации этой ситуации, которую я просто отредактировал /etc/sudoers
и добавил эту строку:
Defaults always_set_home
Теперь все работает как ожидалось, и я могу использовать sudo
надежно снова.
Попробуйте добавить несколько дисплеев:
mcookie|sed -e 's/^/add :0. /'|xauth -q
mcookie|sed -e 's/^/add :1. /'|xauth -q
......................................
Если файловая система, содержащая ваш домашний каталог на удаленном сервере, заполнена на 100 % или если действуют дисковые квоты, и вы превысили свою квоту, можно создать новый файл нулевой -длины, но не написать в него что угодно. Это не позволит sshd
записать файл cookie сеанса X11 в файл .Xauthority
, что приведет к сбою пересылки X11.
Проверьте эти условия с помощью команд df -h.
и quota
, прежде чем пытаться что-то более сложное. При необходимости очистите место, затем выйдите из системы и повторите попытку.