LINUX.ORG.RU

Редактирование системных файлов в emacs

 


0

2

Хотелось бы узнать: используя emacs, как вы пишете код в системные файлы от рута? Допустим, нужно написать модуль ядра, и код находится на локальной машине. Вообще предполагается преимущественно работа из-под рута.

Первое, что напрягает, что у рута должен быть свой /root/.emacs.d, и необходимые пакеты будут подтянуты и собраны из под рута из репозиториев emacs. Безопасно ли это?

Второе: используете ли вы консольный emacs или запускаете графический от рута? Нужна ли вообще для таких целей поддержка иксов?

Третье: в случае, когда нужно редактировать сразу несколько файлов, расположенных в разных частях системы, то используете emacs, открытый в разных терминалах (сессиях tmux, screen), или всё лучше делать в буфферах одного emacs?

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

  • емакс можно собрать без поддержки X, если глубоко в консоле без X использую vim
  • делю окно на несколько буферов c-x 2 c-x 3
Silerus ★★★★
()

используя emacs, как вы пишете код в системные файлы от рута?

Через tramp.

Допустим, нужно написать модуль ядра, и код находится на локальной машине. Вообще предполагается преимущественно работа из-под рута.

Модули ядра не пишутся из под рута. Говорю как человек, который разрабатывает модули ядра ― рутовый доступ к хостовой системе в процессе разработки не используется в принципе ― модули запускаю в qemu.

Вообще предполагается преимущественно работа из-под рута.

Неправильно. Без исключений.

Первое, что напрягает, что у рута должен быть свой /root/.emacs.d

Просто не запускай его от рута.

Второе: используете ли вы консольный emacs или запускаете графический от рута? Нужна ли вообще для таких целей поддержка иксов?

Графический, только от пользователя.

Третье: в случае, когда нужно редактировать сразу несколько файлов, расположенных в разных частях системы, то используете emacs, открытый в разных терминалах (сессиях tmux), или всё лучше делать в буфферах одного emacs?

Один Emacs. Удаленные файлы через tramp.

Deleted
()

emacs != vim и уж тем более не nano. Один емакс на все про все, вся работа в буферах или окнах.

Из-под рута ничего и никогда, в емаксе есть отличный teamp, м редактирую системные конфиги достаточно часто.

Ну в целом плюсуюсь к предыдущим ораторами

Nicholass ★★★
()

Хотелось бы узнать: используя emacs, как вы пишете код в системные файлы от рута?

Через tramp.

no-such-file ★★★★★
()
Ответ на: комментарий от Deleted

Удаленные файлы через tramp

Локальные тоже через tramp. /sudo:localhost/

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от Silerus

емакс можно собрать без поддержки X, если глубоко в консоле без X использую vim

Пассаж выглядит так, будто бы вы говорите, что ГНУ Емакс, собранный с иксами, без Иксов не запустится.

Это было бы вызывающе неверно.

Zmicier ★★★★★
()
Ответ на: комментарий от Nicholass

вся работа в буферах или окнах.

В «окнах» или в «рамках» — так вы, надо думать, хотели сказать. В буферах она без вариантов.

Zmicier ★★★★★
()

Второе: используете ли вы консольный emacs или запускаете графический

Графический, конечно.

Нужна ли вообще для таких целей поддержка иксов?

Зачем загонять в себя в прокрустово ложе?

запускаете

Если же вам все-таки по какой-то причине что-то подправить без Иксов, то обратите внимание, что запускать для этого отдельный Емакс *не надо* — спокойно подключайтесь к тому же самому, к какому подключаетесь из графической среды.

Если же он у вас помирает вслед за Иксами, то *это решительно неправильно* и безотносительно темы вопроса. ГНУ Емакс должен спокойно переживать перезапуск графики (а равно и ее аварийное падение) без потери состояния. Ищите проблему с диспетчером сессий.

от рута?

Да нет, от себя.

когда нужно редактировать сразу несколько файлов, расположенных в разных частях системы, то используете emacs, открытый в разных терминалах (сессиях tmux, screen)
или лучше делать в буферах одного emacs?

Это параллельные вещи.

Целесообразно иметь несколько экземпляров Емакса в том случае, когда у вас активно несколько разных несвязных задач. Когда заведомо не надо, чтобы одна лезла в другую.

Сколько к каждому будет подключено терминалов (будь они графические или, если если вам хочется, телетайпные) — зависит только от того, насколько у вас полноценный и удобный диспетчер этих терминалов (будь это оконный диспетчер в Иксах или мультиплексор телетайпа).

С хорошим вы легко дойдете до сотни. С каким-нибудь убожеством типа Опенбокса — ну, придется себя сдерживать.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

потому что когда в консоле, без иксов, цветовая схема, которая у меня выбрана для емакса выглядит просто вырвиглазно, ну а когда не в консоле то через трамп естественно

Silerus ★★★★
()
Ответ на: комментарий от Silerus

потому что когда в консоле, без иксов, цветовая схема, которая у меня выбрана для емакса выглядит просто вырвиглазно

Это как-то связано с тем, что терминал слабоват на цветность?

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

Ну а пока самому его понизить.

Zmicier ★★★★★
()
Ответ на: комментарий от Silerus

А почему тогда в консоли Вим, если не секрет?

потому что когда в консоле, без иксов, цветовая схема, которая у меня выбрана для емакса выглядит просто вырвиглазно

Плюс, решительно непонятно, как это дает повод аж не пользоваться Емаксом вообще.

Достаточно всего лишь запустить другой экземпляр процесса, в котором тему не включать. Ну да, это тоже потеря, но не такая же, как замена Емакса на Вим!

Zmicier ★★★★★
()
Ответ на: комментарий от anonymous

emacs -nw -Q?

Господи, да зачем так сурово-то?!

Поставьте вы просто (в порядке костыля, если правильное решение почему-то не проходит) просто включение темы по отсутствию флага. Это может быть переменная окружения, например.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

мне так удобнее для быстрой правки в терминале

export EDITOR=«emacs -nw -Q»

anonymous
()
Ответ на: комментарий от Zmicier

вимом я пользуюсь только для мелких правок конфигов, и только когда собираю gentoo, потому что редактор надо сразу, а пересобирать два раза емакс мне не хочется, т.е вим - это у меня инсталяционный редактор, пока не подниму иксы и емакс, а так у меня емакс выступает в роли ирки видеоплеера иде для программирования gdb, среды для latex, shell - вот толька как диред мне ненравится работает, он когда копирует файлы делает это в основном потоке и не показывает прогресс - это очень не удобно

Silerus ★★★★
()
Ответ на: комментарий от Zmicier

да, разумеется. Я говорил про frames, но пользуюсь ими не часто. Именно для рутовых дел и открываю иногда еще один фрейм

Nicholass ★★★
()

если что-то побыстрому, использую mg

olibjerd ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.