bash + запись стандартного вывода и ошибки в оба журнала

Если вы имеете в виду функцию, когда вы удерживаете Alt и нажимаете цифры на цифровой клавиатуре, а когда вы отпускаете Alt, вставляется символ с соответствующей цифрой¹, это не работает для вас, потому что это функция IBM PC, которую скопировала Windows и которую скопировала консоль Linux, но которую не предлагает графический интерфейс Linux.

В системах unix обычным методом ввода символа, которого нет на клавиатуре, является клавиша Compose. Вместо того чтобы запоминать цифры, вы нажимаете Compose, а затем 2 (иногда больше) символов на клавиатуре. Например, Compose ' e вводит é, Compose вводит " и т.д.

Я не знаю, включена ли в Linux Mint клавиша Compose по умолчанию. К сожалению, на клавиатурах ПК нет клавиши с надписью "Compose", поэтому нет стандарта, какую клавишу выбрать; клавиша "Windows/Menu" (которая не всегда удобна на ноутбуке) или клавиша Caps Lock являются обычными вариантами. Вызовите настройки раскладки клавиатуры и убедитесь, что у вас установлена клавиша Compose.

Если вам нужно ввести символ Unicode по его номеру, во многих приложениях вы можете нажать Ctrl+Shift+U, а затем ввести шестнадцатеричное число.

Когда речь идет о редко используемых символах, где вы все равно не запомнили бы номер, есть более удобные способы вставить эти символы, чем искать номер и вводить его. Вы можете использовать карту символов, например Gucharmap, чтобы найти символ и скопировать его в буфер обмена. Можно найти символ в Википедии и скопировать его. Вы можете нарисовать символ на Shapecatcher и скопировать его.

Эта страница описывает эти возможности на Ubuntu. Я думаю, что Linux Mint довольно похож.

¹ ASCII только до 127, так что это редко используется для ASCII-кодов.

1
20.03.2019, 01:07
2 ответа

Вы должны установить его в свой домашний каталог.

Для этого вы должны проверить исходный репозиторий оболочки fishна GitHub, а затем следовать инструкциям по установке в разделе «Сборка» в файле README.md, сообщая CMake, который вы хотели бы использовать в качестве альтернативного каталога установки:

git clone --depth=1 https://github.com/fish-shell/fish-shell
cd fish-shell

mkdir build
cd build

cmake -DCMAKE_INSTALL_PREFIX=$HOME/local..

make
make install

Это установит fishи связанные с ним файлы в $HOME/local. Исполняемый файл fishбудет находиться в $HOME/local/bin(, который вы можете добавить в свой $PATH).

Это, очевидно, предполагает, что все необходимые инструменты (git, make, cmakeи т. д. )доступны и что система сборки находит все необходимые зависимости 1 .

Чтобы получить определенный тег выпуска, например3.0.2(самый последний выпуск на момент написания ), используйте git clone --branch=3.0.2 --depth=1...при клонировании репозитория. Если вы не укажете тег выпуска, вы получите последнюю нестабильную разрабатываемую версию кода.

Тогда вам придется запускать обычную оболочку fishвсякий раз, когда она запускает интерактивную оболочку (, предполагая, что вы не хотите запускать fishвручную ). Если ваша оболочка bash, вы можете сделать это, добавив

if [ -x "$HOME/local/bin/fish" ]; then
    exec "$HOME/local/bin/fish"
fi

или что-то похожее на $HOME/.bashrc. Этот конкретный способ сделать это будет заменять процесс bashпроцессом fishкаждый раз при запуске интерактивной bashоболочки.

1В некоторых системах, отличных от -Linux, вам также придется вручную исправить src/fallback.cpp, чтобы включить заголовок locale.h. В противном случае этот файл может не скомпилироваться из-за того, что uselocale()не объявлен. Это подтверждение ошибки в коде ,который будет исправлен в версии 3.1.0 благодаря этому вопросу.


Другой вариант, как всегда, поговорить с администратором системы и попросить его установить его из предварительно -скомпилированного пакета. Затем вы сможете изменить свою оболочку входа в систему на fish, используя chshили любую аналогичную команду, доступную в системе.

5
27.01.2020, 23:15

Установка программного обеспечения без рута — типичная проблема, и существует множество решений.
Для версии ядра <3.X я рекомендую только linuxbrew , только brew install fishимеет дело с его зависимостями, такими как cmake.
Чтобы узнать выше, см. awesome -linux -контейнеры

0
27.01.2020, 23:15

Теги

Похожие вопросы