tmux не будет работать от имени пользователя root?

10

Если я запускаю tmux от имени root, он работает нормально и полностью функционально. Я создал пару пользователей, и он не будет работать как любой из пользователей.

create session failed: : No such file or directory

Я проверил, что внешнее значение $ TERM - это xterm, а внутреннее значение $ TERM - это экран, поскольку часто задаваемые вопросы показывают, что это наиболее распространенная причина проблем.

Я регулярно использую tmux на многих разных системах, но я на этом VPS не могу понять, в чем дело ... Небольшая помощь, пожалуйста?

РЕДАКТИРОВАТЬ: Благодаря полезному совету Джея о strace, я обнаружил проблему с разрешениями в / dev / pty *. Я боюсь, что это не будет полезным постом для многих других, поскольку это кажется своего рода одноразовой проблемой.

strace -f -e trace=file tmux

32000 open("/dev/ptmx", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyp0", O_RDWR) = -1 EACCES (Permission denied) ..... 32000 open("/dev/ptypf", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyq0", O_RDWR) = -1 ENOENT (No such file or directory)

неуклюжий дурак
источник

Ответы:

10

Более общий способ решения проблемы такого рода:

strace -f -e trace=file tmux ..restofyourcommand...

Ищите permission denied/ no such file or directoryошибки прямо перед его выходом - может найти общую причину, по которой вы получаете эту ошибку (то есть посмотрите, какой каталог он пытался создать, затем создайте его вручную и просмотрите ошибку, возможно, она пытается сделать /home/x/some/dirбез /home/x/someсуществующего или что-то).

сойка
источник
Спасибо за предложение. Боюсь, я не получил дальше. Я попытался возиться с разрешениями на / var / run / tmux, но ничего не получилось. Что означает getcwd?
неуклюжий дурак
Хотите попробовать strace -e trace=allи вставить это? Не уверен, что рекомендовать кроме этого. getcwdпросто означает получить текущий рабочий каталог.
Джей
Я пытался понять это, но я потерян. Ваш постоянный вклад будет оценен. Новый выход strace / ссылка на pastebin отредактирован.
неуклюжий дурак
1
Я совершенно забыл учитывать тот факт, что tmuxбудут отключаться другие процессы. Ты можешь попробовать strace -f -e trace=file tmux ...? Вы можете догадаться, о чем я буду просить дальше, если это не поможет :-)
Jay