В иксах emacs = emacs, в консоли $emacs = $emacs -nw (Раздельный запуск емакса для иксов и для эмулятора с консолью)
Модератор: /dev/random
-
- Сообщения: 83
- ОС: AgiliaLinux
В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Хочется, чтобы в консольном эмуляторе и чистом терминале по комманде $emacs запускался консольный емакс. Как воплотить?
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 83
- ОС: AgiliaLinux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Эх зря я дурак сильно урезал изначальный пост.
Хочется чтобы через .emacs было подобие как в соседней моей теме про цветовые схемы:
Хочется чтобы через .emacs было подобие как в соседней моей теме про цветовые схемы:
Код: Выделить всё
;; Раздельные темы для консоли и иксов
(if window-system
(color-theme-solarized-light) ;; С этой темой emacs будет в X11
(color-theme-comidia)) ;; С этой темой будет, если запущен консольный emacs -nw
-
- Сообщения: 1913
- Статус: zzz..z
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Код: Выделить всё
$ grep emacs .bashrc
export EDITOR="emacsclient -t"
export VISUAL="emacsclient -n -c"
не оно?
[x] close
-
- Сообщения: 83
- ОС: AgiliaLinux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Нет. Короче нужна строчка elisp'а, прописываемая в ~/.emacs , которая заставит емакс запускаться в режиме -nw, Ну а я её уже всуну в тот шаблон, определяющий тип запуска.
-
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Насколько я понимаю, .emacs выполняется, когда emacs уже решил, использует он window-system или текстовый терминал и уже создал фрейм.
Поэтому из .emacs уже невозможно повлиять на этот выбор.
Кроме того, если Вы запускаете emacs из shell в эмуляторе терминала командой emacs, при том, что переменная DISPLAY установлена, из .emacs может быть проблематично определить, что emacs запущен из терминала, а не из меню DE. Можно написать простенький wrapper вокруг emacs, который будет проверять, что stdin/stdout/stderr направлены на tty и запускать emacs -nw в этом случае.
Поэтому из .emacs уже невозможно повлиять на этот выбор.
Кроме того, если Вы запускаете emacs из shell в эмуляторе терминала командой emacs, при том, что переменная DISPLAY установлена, из .emacs может быть проблематично определить, что emacs запущен из терминала, а не из меню DE. Можно написать простенький wrapper вокруг emacs, который будет проверять, что stdin/stdout/stderr направлены на tty и запускать emacs -nw в этом случае.
Мои розовые очки
-
- Сообщения: 83
- ОС: AgiliaLinux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Ну если не возможно, то ни чего не поделаешь
Ещё может кому будет полезно, в некоторых местах советуют в ~/.bashrc писать alias emacs="emacs -nw". Это не верно, кавычки нельзя, только апострофы у меня заработали.
Ещё может кому будет полезно, в некоторых местах советуют в ~/.bashrc писать alias emacs="emacs -nw". Это не верно, кавычки нельзя, только апострофы у меня заработали.
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
это не верно, кавычки можно·
/telepathy mode on
.bashrc сам собой не прочитается·
надо было, например, открыть другое окно x-эмулятора терминала·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 83
- ОС: AgiliaLinux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Ну и я естественно открывал другое окно эмулятора. Была даже мысль полностью выйти со всех сессий этим пользователем. Но заменил апострофами, и сработало.
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
ну, проведите тест
1. поставьте двойные кавычки
2. запустите новый эмулятор
3. выполните
$ alias emacs
4. вы должны увидеть
alias emacs='emacs -nw'
да-да, вы увидите одинарные кавычки, именно так bash хранит alias-ы в своих внутренностях·
но к способу ввода самой команды alias это отношения не имеет·
5. проверьте работоспособность:
$ emacs
второй тест
1. удалите в существующей сессии существующий alias:
$ unalias emacs
2. создайте alias для текущей сессии:
$ alias emacs="emacs -nw"
3. проверьте работоспособность:
$ emacs
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 83
- ОС: AgiliaLinux
Re: В иксах emacs = emacs, в консоли $emacs = $emacs -nw
Я только что сделал проще(для чистоты эксперимента). Удалил алиас из ~/.bashrc, вышел с сессии эмулятора консоли, создал новую, запустил емакс, и запустился иксовый вариант, закрыл его. Пошёл в ~/.bashrc и возобновил алиас но уже с кавычками, закрыл сессию эмулятора терминала, открыл новую, запустил емакс, и он, вот ведь сволочь же, открыл теперь консольный вариант. Наверно я неспамши тогда чёй-то таки да перепутал.