Ошибка FISH при запуске для доступа к файлу, который существует

В Ubuntu 14.04 я начал получать следующее предупреждение (или ошибку) каждый раз, когда запускаю новый сеанс в терминале:

Unable to make or open a FIFO for universal variables with path '/run/user/0/fishd.12c79b706e7a.notifier': Permission denied

Когда я пытаюсь заглянуть в этот файл, его вообще не существует.


person Arman    schedule 23.12.2014    source источник
comment
fish пытается создать FIFO в $XDG_RUNTIME_DIR, но это, похоже, каталог среды выполнения root. Вы вошли в систему как root? Что показывает echo $XDG_RUNTIME_DIR?   -  person ridiculous_fish    schedule 23.12.2014
comment
Спасибо. Я не вошел в систему как root. Это дает мне /run/user/0. и sudo ls -lart /run/user/0 дает total 0 drwxr-xr-x 3 root root 60 Dec 23 10:03 .. drwx------ 2 root root 40 Dec 23 10:03 .   -  person Arman    schedule 23.12.2014
comment
Похоже, что-то неправильно настроено в вашей системе. Из спецификации XDG: Каталог ДОЛЖЕН принадлежать пользователя, и он ДОЛЖЕН быть единственным, кто имеет к нему доступ для чтения и записи. Его режим доступа Unix ДОЛЖЕН быть 0700. Это не относится к вашей системе. Я полагаю, мы должны обойти это в рыбе.   -  person ridiculous_fish    schedule 24.12.2014
comment
Просто хотел отметить, что я также вижу эту ошибку в Windows с Cygwin. Перезапуск окна консоли от имени администратора устранил проблему, хотя, возможно, мне нужно вручную изменить некоторые разрешения для папки/файлов конфигурации для лучшего и более постоянного решения.   -  person Pysis    schedule 16.11.2017


Ответы (2)


Это выпуск #2222.

Проблема, похоже, в том, что вы получаете неправильное значение для $XDG_RUNTIME_DIR. В этом выпуске репортер сказал, что su -l вызвало это, что, в отличие от того, что сказано в документации, не очистило $XDG_RUNTIME_DIR или снова установило неправильное значение.

Я получаю гораздо более мягкую проблему с рыбой 2.2.0 (и текущим git):

рыба: нет телетайпа для интерактивной оболочки (сбой tcgetpgrp)

setpgid: неподходящий ioctl для устройства

который, кажется, ничего не ломает, поэтому я могу только рекомендовать обновление.

person faho    schedule 30.09.2015
comment
То, что он больше не ломается так сильно, вероятно, вызвано отказом от fishd (который был демоном, используемым для синхронизации универсальных переменных) в 2.2.0. - person faho; 30.09.2015

У меня была аналогичная проблема с настройкой моего терминала на ловлю рыбы в IntelliJ IDEA на Manjaro.

Каждый раз, когда я открывал терминал, он продолжал печатать следующее сообщение об ошибке;

Unable to open universal variable file '/opt/intellij-idea-ultimate-edition/plugins/terminal/fish/fish_variables': Permission denied

Решение, которое я использовал, хотя и не идеальное, остановило сообщение об ошибке — оно пытается записать в корневое место, контролируемое пользователем. из терминала введите следующую команду:

chown -R USER:USER /opt/intellij-idea-ultimate-edition/plugins/terminal/fish
person Morris Buel    schedule 23.04.2020