Переменная TERM и urxvt (где выставляется по-умолчанию)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Переменная TERM и urxvt

Сообщение UnixNoob »

Добрый день.
Не смог найти за счет чего при сборке urxvt из SBo переменная TERM по-умолчанию имеет вид:

Код: Выделить всё

rxvt-unicode-256colo
В .bashrc и .profile он не указывался, как и в .Xresources.

Я знаю что можно установить в .Xresources опцию URxvt.termName, или через .bashrc, но хочется понять откуда он его по-умолчанию берет. В слакбилд смотрел, но не увидел там выставления переменной.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

Из исходников, вестимо. А зачем Вам понадобилось её менять?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

Bizdelnick писал:
16.03.2021 14:29
А зачем Вам понадобилось её менять?
У меня, к примеру, явным образом выставлено значение "xterm".
Почему? Потому что сталкивался со всякими разными эффектами: то цветовая схема в консоли нарушается, то git diff криво работает (опять-таки из-за наличия цветовой разметки), то клавиши типа Home и End в терминале непонятно себя ведут.
В общем, то и дело натыкался на что-то вот такое. Пробовал разные варианты, в итоге оставил вариант xterm, как наименее проблемный.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

Bizdelnick писал:
16.03.2021 14:29
Из исходников, вестимо. А зачем Вам понадобилось её менять?
Не понял, при чем здесь исходники? То что urxvt собран с поддержкой 256 цветов ясно, но где присваивается переменная?
Дело в том что в другой системе, по-умолчанию, urxvt выставляет переменную без этой поддержки и у меня проблема с цветами в Vim.
Опции для .vimrc это не решили. Сам urxvt-256color в системе есть.
Поэтому я хочу понять в каком месте urxvt выставляет эту самую переменную.
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1336

Re: Переменная TERM и urxvt

Сообщение bormant »

Не понял, при чем здесь исходники?
Changes

Код: Выделить всё

9.09 Sat Nov 13 01:39:07 CET 2010
        - add rxvt-unicode-256color terminfo and use it by default in 256 colors mode.
src/rxvt.h

Код: Выделить всё

#ifndef TERMENV
# if USE_256_COLORS
#  define TERMENV        "rxvt-unicode-256color"
# else
#  define TERMENV        "rxvt-unicode"
# endif
#endif
src/init.C

Код: Выделить всё

void
rxvt_term::init_env ()
{
...
  if (rs[Rs_term_name] != NULL)
    {
      env_term = (char *)rxvt_malloc (strlen (rs[Rs_term_name]) + 6);
      sprintf (env_term, "TERM=%s", rs[Rs_term_name]);
      putenv (env_term);
    }
  else
    putenv ("TERM=" TERMENV);
Последний раз редактировалось bormant 16.03.2021 15:47, всего редактировалось 2 раза.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

UnixNoob писал:
16.03.2021 14:52
но где присваивается переменная?
Там же, где и разные другие переменные окружения: в файлах профиля (пользовательского уровня или системного).
UnixNoob писал:
16.03.2021 14:52
Опции для .vimrc это не решили.
В .vimrc это не решится. Переменные окружения - это немного другой уровень.

Конкретно переменная TERM выставляется, в частности в /etc/profile.
А rxvt-256color и rxvt-unicode* встречаются в /etc/DIR_COLORS.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

Hephaestus писал:
16.03.2021 15:33
Там же, где и разные другие переменные окружения: в файлах профиля (пользовательского уровня или системного).
Так делать в случае переменной TERM нельзя. То есть можно, конечно, но только если цель — сломать работу всех эмуляторов терминала кроме одного или нескольких (а заодно и виртуальной консоли). Назначение этой переменной — сказать программе, какой терминал используется, чтобы она использовала поддерживаемые им escape-последовательности. Поэтому каждый эмулятор терминала выставляет её сам.
В некоторых случаях бывают проблемы, если программа (точнее, используемая ей библиотека, а ещё точнее — база данных termcap или terminfo, к которой эта библиотека обращается) не знает ничего о терминале, прописанном в переменной окружения TERM. Тогда она просто не использует никаких escape-последовательностей, что сильно ограничивает её возможности по форматированию вывода. В нормальном дистрибутиве такого происходить не должно (эмулятор терминала не должен выставлять значение TERM, не входящее в termcap/terminfo из поставки дистрибутива). Но в случае самосборных пакетов таких гарантий, конечно, дать невозможно. Кроме того, при подключении по SSH к старой системе (со старой версией termcap/terminfo) может происходить то же самое. Тогда есть смысл прописать в TERM какой-то совместимый с используемым терминал (тот же xterm, например), но ни в коем случае не глобально в профиле, а в URxvt.termName, например, чтобы эта настройка влияла только на urxvt.
Это и много другого интересного можно узнать из urxvt(7). Там же написано, как добавить запись в базу terminfo, что является лучшим решением данной проблемы.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

bormant
В current rxvt-unicode устанавливается из "коробки", в ponce репозитории SBo он убран, по умолчанию, после установки current, переменная TERM=rxvt-unicode, получается там он собран с другими ключами, не как в SBo.
Hephaestus писал:
16.03.2021 15:33
Конкретно переменная TERM выставляется, в частности в /etc/profile.
А rxvt-256color и rxvt-unicode* встречаются в /etc/DIR_COLORS.
/etc/ я проверил, но там не нашлось.
Bizdelnick писал:
16.03.2021 16:04
Так делать в случае переменной TERM нельзя. То есть можно, конечно, но только если цель — сломать работу всех эмуляторов терминала кроме одного или нескольких (а заодно и виртуальной консоли). Назначение этой переменной — сказать программе, какой терминал используется, чтобы она использовала поддерживаемые им escape-последовательности. Поэтому каждый эмулятор терминала выставляет её сам.
Ну я пытаюсь понять почему у меня терминал один, а переменные TERM разные. При этом я настроек не производил ни в одном из файлов. Поддержка 256 цветов в одном случае была выставлена явно при сборке, а во-втором нет?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

UnixNoob писал:
16.03.2021 16:23
Ну я пытаюсь понять почему у меня терминал один, а переменные TERM разные. При этом я настроек не производил ни в одном из файлов. Поддержка 256 цветов в одном случае была выставлена явно при сборке, а во-втором нет?
В принципе это могло поменяться и в новой версии urxvt. Сложно сказать, не видя, что именно Вы собираете.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1336

Re: Переменная TERM и urxvt

Сообщение bormant »

Для 14.2:
https://slackbuilds.org/slackbuilds/14.2/system/rxvt-unicode/rxvt-unicode.SlackBuild

Для current:
https://slackware.osuosl.org/slackware64-current/source/xap/rxvt-unicode/rxvt-unicode.SlackBuild

В 1-м случае:

Код: Выделить всё

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  ...
  --enable-256-color \
  --build=$ARCH-slackware-linux

make

mkdir -p $PKG/usr/share/terminfo
TERMINFO=$PKG/usr/share/terminfo make install DESTDIR=$PKG
Во 2-м случае:

Код: Выделить всё

run_configure() {
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
 ...
  $COLOR_OPTS \
  --build=$ARCH-slackware-linux || exit 1
}

# Make sure the terminfo definitions go to the correct location:
mkdir -p $PKG/usr/share/terminfo
export TERMINFO=$PKG/usr/share/terminfo

# Build and install standard version:
export COLOR_OPTS="--with-term=rxvt-unicode"
run_configure
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

# Build and install 256color version:
export COLOR_OPTS="--with-term=rxvt-unicode-256color --with-name=urxvt256c --enable-256-color"
run_configure
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
Обратить внимание на "--with-term=rxvt-unicode-256color".
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

Bizdelnick писал:
16.03.2021 16:04
Так делать в случае переменной TERM нельзя.
Я не отвечал на вопрос, можно или нельзя. Я сказал, где оно выставляется по факту в Slackware.
Bizdelnick писал:
16.03.2021 16:04
Назначение этой переменной — сказать программе, какой терминал используется, чтобы она использовала поддерживаемые им escape-последовательности. Поэтому каждый эмулятор терминала выставляет её сам.
Видимо, не каждый. Потому что у меня эта переменная порой имела пустое значение.
Bizdelnick писал:
16.03.2021 16:04
В нормальном дистрибутиве такого происходить не должно
Если не трудно, расскажите, как с этим в Debian. Мне в Debian встречались интересные вещи, которых я не видел в других дистрах (типа скриптов start-stop-daemon). Поэтому не исключаю, что с переменой TERM тоже может быть что-нибудь любопытное.
Bizdelnick писал:
16.03.2021 16:04
Тогда есть смысл прописать в TERM какой-то совместимый с используемым терминал (тот же xterm, например), но ни в коем случае не глобально в профиле
Ну, как Вам сказать... В Slackware в /etc/profile есть такое:

Код: Выделить всё

# Set TERM to linux for unknown type or unset variable:
if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then
 TERM=linux
fi
То есть именно глобально в профиле. Профиль системного уровня. То есть глобальней некуда. Причем это так "из коробки".
А уж правильно это или нет - не мне судить.

Как я уже сказал, у меня переменная TERM порой имела пустое значение. Значит, либо она где-то очищалась, либо не считывались инструкции из /etc/profile. В любом случае, ничего хорошего из этого не выходило.
И вот от такой "плавающей" переменной, на мой взгляд, больше проблем, чем пользы. В итоге я и задал переменную явно. Чтобы иметь хоть какое-то единообразие.

Offtopic
Мы уже как-то касались вопроса настроек. У меня считываются оба файла: .bashrc и .profile. И это вроде как неправильно. А вот как сделать правильно, никто ни разу не сказал.
bormant, Bizdelnick, можете что-нибудь рассказать на эту тему?
Как обеспечить единые настройки окружения, учитывая, что .bashrc и .profile считываются в разных ситуациях и в общем случае не пересекаются?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

Hephaestus писал:
16.03.2021 18:35
Я не отвечал на вопрос, можно или нельзя. Я сказал, где оно выставляется по факту в Slackware.
Оно там не выставляется по умолчанию. А руками его там выставляют только злобные буратины.
Hephaestus писал:
16.03.2021 18:35
у меня эта переменная порой имела пустое значение.
В эмуляторе терминала? Каком именно? А если речь не о эмуляторе терминала, то это нормально.
Hephaestus писал:
16.03.2021 18:35
В Slackware в /etc/profile есть такое
Очевидно, это костыль на случай, когда в интерактивном логин-шелле эта переменная является пустой. Не знаю, в каком случае это возможно, честно говоря. Но это не то место, где она определяется при нормальном положении вещей: условие if не должно выполняться примерно никогда.
И, кстати, если такое в slackware имеет место быть, я тем более не понимаю, каким образом у Вас эта переменная оказывалась пустой. Видимо, речь идёт не о логин-шелле?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

Bizdelnick писал:
16.03.2021 18:48
В эмуляторе терминала? Каком именно?
Я уже не помню.
Bizdelnick писал:
16.03.2021 18:48
Видимо, речь идёт не о логин-шелле?
Наверно. Помню, что периодически это вылезало (нарушая какие-то привычные вещи), и когда мне это надоело окончательно, я задал значение явно. А вот как это сделать по-нормальному, я так и не придумал. В общем, сделал, как смог.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1336

Re: Переменная TERM и urxvt

Сообщение bormant »

Один из возможных вариантов -- сказать "source ~/.bashrc" в ~/.profile:
https://stackoverflow.com/questions/9953005/should-the-bashrc-in-the-home-directory-load-automatically/9954208#9954208

Другой -- вынести общие настройки в отдельный файл, скажем, ~/.bash_aliases, и дергать его из обоих мест. Если правильно путаю, в Ubuntu видел что-то подобное.

Для размышления:
https://wiki.debian.org/DotFiles
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

bormant писал(а):
16.03.2021 17:05
Обратить внимание на "--with-term=rxvt-unicode-256color".
Т.е в варианте current мне предложен вариант запуска rxvt-256color с помощью опции,а в 14.2 - нет. Или я не правильно понял?
В итоге открыть какой-то конфиг файл и прописать для rxvt вариант 256 color по-умолчанию я не могу? Только в .Xresources или .bashrc локально?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

bormant писал(а):
16.03.2021 20:15
сказать "source ~/.bashrc" в ~/.profile
Прямо не тема, а сборник вредных советов. Так не надо делать аж по двум причинам. Во-первых, у этих файлов разное предназначение: .profile используется в логин-шелле, а в .bashrc — в не-логин-шелле (хотя по факту файлы *bashrc действительно часто включаются из *porfile, но только при выполнении определённых условий). Во-вторых, .profile читается не только bash, но и другими оболочками, в то время как .bashrc предназначен только для bash и может содержать что-то специфичное для bash. (Кстати, третья причина: source — это башизм, поэтому его нельзя использовать в .profile, который должен быть переносимым.)
Добавлено (20:54):
UnixNoob писал:
16.03.2021 20:26
Т.е в варианте current мне предложен вариант запуска rxvt-256color с помощью опции,а в 14.2 - нет. Или я не правильно понял?
Примерно. В current собираются два разных бинарника, которые имеют разные имена и устанавливают разное значение переменной окружения TERM. Как я понимаю, 256-цветный вариант должен называться urxvt256c.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

Bizdelnick писал:
16.03.2021 20:45
Нет. В current собираются два разных бинарника, которые имеют разные имена и устанавливают разное значение переменной окружения TERM. Вы запускаете один, а ожидаете в TERM увидеть значение другого.
Посмотрю, что с бинарниками тогда. Мне показалось что он в версии 256, не считывает опции с .Xresources, но возможно он ждет termName в нем.
Заодно переменные при запуске проверю. Спасибо.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

bormant писал(а):
16.03.2021 20:15
Один из возможных вариантов -- сказать "source ~/.bashrc" в ~/.profile:
Скорее, наоборот. Настройки из .profile полнее, потому что дергается /etc/profile, /etc/profile.d/*.sh и т.д. Если в "богатый" .profile подтянуть "бедный" .bashrc - это мало что добавит, там и так всё есть.
А вот если в "бедный" .bashrc (когда именно он сработает) НЕ подтянуть вовремя "богатый" .profile, то может и история команд безвозвратно улететь, и ещё чего-нибудь нарушится.
Поэтому, если уж подтягивать, то надо в .bashrc добавлять .profile.
Ну у меня, по большому счету, так и сделано, а говорят, что это неправильно.
bormant писал(а):
16.03.2021 20:15
Другой -- вынести общие настройки в отдельный файл, скажем, ~/.bash_aliases, и дергать его из обоих мест.
Ну вот, к примеру, /etc/profile.d/bashrc.sh - чем не общий файл? Можно же его дергать из обоих мест?
У меня по сути так и есть.

Кстати, по теме. У меня был в профиле прописан экспорт переменной TERM=xterm. Убрал. Посмотрел, как оно себя ведет. Вне иксов - TERM=linux, в иксах в эмуляторах терминала lxterminal и xfce4-terminal TERM=xterm, в urxvt TERM=rxvt-unicode-256color. Значение этой переменной видать и впрямь каждый терминал выставляет сам (судя по всему, нечто дефолтное зашито в коде, потому что в конфгах не нашел). Но на мой вкус при xterm цветовое оформление выглядит лучше. Причем, за пределами иксов TERM=xterm вроде проблем особых не создает, не замечал.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

Hephaestus писал:
16.03.2021 21:09
Но на мой вкус при xterm цветовое оформление выглядит лучше. Причем, за пределами иксов TERM=xterm вроде проблем особых не создает, не замечал.
У вас цвета Vim'а не едут? Или вы в Х gVim используете?
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

UnixNoob писал:
16.03.2021 21:24
У вас цвета Vim'а не едут?
Куда они могут уехать?
UnixNoob писал:
16.03.2021 21:24
Или вы в Х gVim используете?
Нет, gvim я не использую. Я использую awesome, в котором использую urxvt, из которого запускаю всё остальное. Таким образом, у меня вполне себе консольный vim в иксах. Впрочем, была у меня какая-то идея использовать gvim (уже не помню, для чего), но я его настроил так, чтобы он внешне не отличался от консольного vim.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

Hephaestus писал:
16.03.2021 21:38
Куда они могут уехать?
Ну,к примеру, он (vim) не использует указанную тему, а считывает цвета терминала.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

UnixNoob писал:
16.03.2021 21:50
Ну,к примеру, он (vim) не использует указанную тему, а считывает цвета терминала.
А, ну это мне не досаждает. Я вообще не любитель всяких тем. А уж в vim - и подавно.
Мне от vim в плане цветов что нужно? Темный фон и подсветка синтаксиса для разных типов файлов. Это всё есть.
Даже если это считывается с терминала (скорее всего, так и происходит), у терминала фон темный.
А какие там ещё темы могут быть в консольном vim?

Ну, вот я сейчас извратился и запустил rxvt так, что он не считал мои настройки. Фон получился не темным, а белым, соответственно, запущенный в нем vim с белым фоном. Ну так это от переменной TERM не зависит и происходит одинаково, при разных значениях переменной.

Кстати, я выше сказал, что с xterm цвета лучше. Как выяснилось, не только цвета.
Буквально вот сейчас было: переменная TERM=rxvt-unicode-256color, в терминале перемоткой вытащил команду из истории. Команда длинная, не поместилась в строке, начало команды уехало влево куда-то "внутрь приглашения" (за пределы видимости), а показан только хвост команды. Может, оно и удобно, но я плохо представляю, как этим пользоваться в таком режиме. А при TERM=xterm длинная команда занимает несколько строк на экране и поэтому видна целиком. Так что дело не только в цветах.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

Hephaestus писал:
16.03.2021 22:24
Команда длинная, не поместилась в строке, начало команды уехало влево куда-то "внутрь приглашения" (за пределы видимости), а показан только хвост команды. Может, оно и удобно, но я плохо представляю, как этим пользоваться в таком режиме. А при TERM=xterm длинная команда занимает несколько строк на экране и поэтому видна целиком.
Такое настройками bash надо лечить, а не ампутацией ноги по самые уши.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

Bizdelnick писал:
16.03.2021 23:11
Такое настройками bash надо лечить, а не ампутацией ноги по самые уши.
Опытом Вы делиться не хотите, а вот эти вот "шпильки" ничего хорошего не приносят. Неконструктивно.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1336

Re: Переменная TERM и urxvt

Сообщение bormant »

Bizdelnick писал:
16.03.2021 20:45
Во-вторых, .profile читается не только bash, но и другими оболочками, в то время как .bashrc предназначен только для bash и может содержать что-то специфичное для bash. (Кстати, третья причина: source — это башизм, поэтому его нельзя использовать в .profile, который должен быть переносимым.)
Там и башизм (source) был написан не просто так, и ссылка была дана тоже не просто так. Кто не сходил -- тот сам себе злобная буратина.
PS.

Код: Выделить всё

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi
PPS. Ох уж эта старинная забава -- сперва самому придумать, потом с придуманным поспорить, куда ж без этого. Хотя, пожалуй, действительно был излишне краток, а чтение между строк в век информационного потопа всё менее и менее популярно. Будем считать, спровоцировал ;-)
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Переменная TERM и urxvt

Сообщение Bizdelnick »

Hephaestus писал:
17.03.2021 08:17
Опытом Вы делиться не хотите
Мой опыт вряд ли Вам чем-то поможет, ибо я лет десять как пользуюсь zsh.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Переменная TERM и urxvt

Сообщение Hephaestus »

Bizdelnick писал:
17.03.2021 12:17
я лет десять как пользуюсь zsh.
Разве это сильно меняет дело?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
UnixNoob
Сообщения: 626
ОС: Slackware

Re: Переменная TERM и urxvt

Сообщение UnixNoob »

Добрался я до терминала.
Что-то при выставлении имени:

Код: Выделить всё

URxvt.termName: rxvt-256color
Или что-то из этого:

Код: Выделить всё

ls  /usr/share/terminfo/r |grep rxvt
rxvt
rxvt+pcfkeys
rxvt-16color
rxvt-256color
rxvt-88color
rxvt-basic
rxvt-color
rxvt-cygwin
rxvt-cygwin-native
rxvt-unicode
rxvt-unicode-256color
rxvt-xpm
клавиатура сходит с ума, а Vim пишет что:

Код: Выделить всё

E558: В terminfo нет записи об этом терминале
': rxvt-256color' не известен. Доступны встроенные терминалы:
    builtin_amiga
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
по умолчанию 'ansi'
Посмотрел в бинарниках, запустил urxvt256c, с цветами решилось, но теперь пропала прозрачность.
Тут видимо тоже что-то с опциями. Проще взять версию с SBo 14.2. Учитывая что версии rxvt и там и там 9.22, но версия с SBo меня устраивала больше.

upd. Поковырялся с настройками. Заработала и прозрачность.
Похоже что меняли что-то в синтаксисе, или у меня оно каким-то чудом работает на 14.2 и не работает в current.
Ему теперь важно как написано:

Код: Выделить всё

urxvt.transparent
или

Код: Выделить всё

URxvt.transparent
Так же не работал perl-скрипт clipboard в варианте:

Код: Выделить всё

URxvt.copyCommand: xclip -i -selection clipboard
URxvt.pasteCommand: xclip -o -selection clipboard
Заработал когда переделал на:

Код: Выделить всё

URxvt*clipboard.copycmd: xclip -i -selection clipboard
URxvt*clipboard.pastecmd: xclip -o -selection clipboard
Спасибо сказали: