Menu
Categories
screen vs sudo
March 14, 2013 Разное

При попытке открытия нового терминала при помощи утилиты screen иногда можно столкнуться со следующей ошибкой:

"Cannot open your terminal '/dev/pts/0' - please check"

Это связано с тем, что текущий терминал был открыт от имени другого пользователя – это происходит, например, если пользователь был сменен при помощи sudo su.

Есть два корректных способа решения этой проблемы:

  • Выйти из системы и перелогиниться именно выбранным пользователем;
  • Выполнить команду script /dev/null.

Первый вариант очевиден, но не очень удобен, второй же использует побочный эффект утилиты script, заключающийся в том, что она при выполнении открывает свой собственный новый терминал с корректно выставленными правами доступа, а не продолжает использовать родительский, который в случае sudo su принадлежит другому пользователю.

Обратите внимание, что не следует использовать chmod на виртуальном устройстве /dev/pts/0, как зачастую предлагается для решения этой проблемы. Хотя это и позволит запустить screen, но сделает данный терминал доступным для всех пользователей системы, что некорректно с точки зрения безопасности.

Leave a Reply




*