23 ноября 2008 г.

Tramp и root на сервере

Задача

С помощью emacs tramp-2.1.14 редактировать файлы под root'ом на сервере, на котором запрещен прямой логин root'а через ssh.

Решение

Добавляем в файлы настроек emacs'a:

(add-to-list 'tramp-default-proxies-alist
             '("\\`server\\'" "\\`root\\'" "/ssh:user@%h:"))

Здесь server — это сервер на котором надо изменить файлы, user — пользователь под которым вам разрешен доступ на server.

Теперь возможно получить root-доступ, открыв необходимый файл следующим образом и введя где необходимо пароли:

/su:server:/path/to/file

Или, если у вас на сервере настроен sudo, делаем так:

/sudo:server:/path/to/file

22 ноября 2008 г.

Tramp и Screen

Как-то раз решил, что мне удобно, чтобы при подключении к серверу через ssh включался screen. Для этого в .bashrc пользователя на сервере было добавлено следующее:

if [ -z "$STY" ]; then
   exec screen -dR
fi

Но оказалось, что при таком раскладе не возможно редактировать файлы через emacs tramp, так как он не может работать через screen. Было найдено следующее решение. Изменить выше представленные настройки вот так:

if [ -z "$STY" ] && [ "$TERM" != "dumb" ]; then
   exec screen -dR
fi

Теперь все отлично работает! Заходим через ssh и сразу же открывается screen. И с редактированием файлов через tramp никаких проблем.

Krusader не показывыает русские буквы через fish

Обнаружил такую вот, ранее не замечаемую, ошибку. Оказывается, что krusader отображает файлы с русскими именами через ssh, используя неверную кодировку. И соответственно он их неправильно записывает. Из консоли ssh отлично все показывает и копирует.

P.S. Все оказалось более интереснее... Konqueror тоже показывает подобную фигню! Значит дело в Кедах?

P.P.S. Уря! Решилась проблема! Нашел все таки меню Select Remote Charset!