Я нашел его сам. Добавьте следующее в файл config.make.in.
install_root = *$(DESTDIR)*
И введите DESTDIR=*install_dir*
в командной строке.
$../configure ~~~
$ make
$ make install DESTDIR=${DESTDIR}
Тогда каталог установки — DESTDIR, а системный каталог — префикс.
Использование login
в OS X позволяет решить эту проблему.
$ login
логин:your username
пароль:your password
Последний вход :День Месяц Дата ЧЧ :ММ :СС на ttys000
$ whoami
ваше имя пользователя
Спасибо пользователю grg на Apple Stack Exchange
Эмулятор терминала отправит сигнал смены окна (SIGWINCH )в оболочку, запущенную вместе с эмулятором терминала. Предполагается, что оболочка передает его своим дочерним элементам -, но когда вы перешли на другую учетную запись пользователя (с помощью su
или иным образом ), она не сможет сигнализировать этой оболочке, поскольку она работает. как другой пользователь. Таким образом, оболочка su
d и любые запущенные из нее программы будут продолжать использовать старый размер окна, не обращая внимания на тот факт, что реальный размер окна изменился.
Чтобы полностью обновить сеанс su
для использования нового размера окна, вам нужно запустить eval $(resize)
в этой оболочке. Он обновит как переменные среды COLUMNS и LINES (, поэтому eval
нужен ), так и настройки терминала (, эквивалентные командам stty rows
и stty columns
). Во многих случаях может быть достаточно просто resize
без части eval...
, но некоторым программам также могут потребоваться переменные среды.