замените два ключа, используя xmodmap

Давайте сломаем это.

Прежде всего, несколько заметок о том, как apt-get install (и большинство других apt-get аргументов тоже):

Вы можете ввести несколько пакетов имена:
sudo apt-get install foobar spamegg 
Имена пакетов на самом деле являются расширенными регулярными выражениями (ERE) (проверьте man 7 regex), поэтому имя пакета foo.bar означает любое имя пакета, которое имеет подстроку, которая начинается с foo и заканчивается на bar с любым символом между foo и bar. Вероятно, f.*r означает любое имя пакета, которое содержит подстроку, которая имеет f и r с любым количеством символов, т.е. между ними. Чтобы выполнить полное сопоставление имени пакета, используйте токены начала и конца, например. [F19]. Если вы хотите, чтобы любой токен Regex обрабатывался буквально, вам нужно избежать маркера с помощью \, например. для обработки foo.bar в буквальном смысле вам нужно:
sudo apt-get install 'foo\.bar'
Здесь одиночное цитирование состоит в том, чтобы предотвратить интерпретацию оболочки шаблона в виде шаблона глобуса, не обязательно в этом случае, но потребуется, например. для шаблона foo.*bar, если у вас есть файл в текущем каталоге с именем, например. [F23]. При рассмотрении вопроса о пакете есть улов. Если есть какой-либо пакет, соответствующий шаблону, шаблон будет обрабатываться буквально, и интерпретация Regex не будет выполнена. Например, для шаблона пакета g++ он будет соответствовать пакету g++ буквально независимо от токена Regex +. Если в определенных репозиториях не было пакета с именем g++, он будет рассматриваться как шаблон ERE.

Теперь вы дали команду:

sudo apt-get install g++ 5.0

Это означает:

Вы можете ввести несколько имен пакетов:
sudo apt-get install foobar spamegg 

Вы можете ввести несколько имен пакетов:

Имена пакетов на самом деле являются шаблонами Extended Regular Expression (ERE) (Проверить man 7 regex), поэтому имя пакета foo.bar означает любое имя пакета, которое имеет подстрока, начинающаяся с foo и заканчивающаяся bar любым символом между foo и bar. Вероятно, f.*r означает любое имя пакета, которое содержит подстроку, которая имеет f и r с любым количеством символов, т.е. между ними. Чтобы выполнить полное сопоставление имени пакета, используйте токены начала и конца, например. [F19]. Если вы хотите, чтобы любой токен Regex обрабатывался буквально, вам нужно избежать маркера с помощью \, например. для обработки foo.bar в буквальном смысле вам нужно:
sudo apt-get install 'foo\.bar'
Здесь одиночное цитирование состоит в том, чтобы предотвратить интерпретацию оболочки шаблона в виде шаблона глобуса, не обязательно в этом случае, но потребуется, например. для шаблона foo.*bar, если у вас есть файл в текущем каталоге с именем, например. foo.bar.

g++ соответствует литеральному мета-пакету g++, как указано выше

sudo apt-get install g++-5

Предположительно, вы хотите установить версию g++ [ f37], поэтому сделало бы следующее (уже упомянутое в этом ответе); Мета-пакет g++-5 будет ссылаться на последний доступный небольшой выпущенный пакет g++ версии 5:

apt-cache search 'g\+\+-[0-9]+'

Для поиска любых пакетов в настроенных репозиториях используйте apt-cache (использует ERE, например apt-get):

apt-cache search g++ | less

Если вы не хотите использовать Regex-ify, используйте less для прокрутки вниз по более крупному списку:

sudo apt-get install --dry-run foobar
3
задан 18 October 2011 в 22:52

1 ответ

Вам нужно запустить в терминале следующее:

xmodmap ~/.xmodmaprc

2
ответ дан 6 August 2018 в 02:59

Другие вопросы по тегам:

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