Я не знаю, как выполнить ваш точный запрос, но вместо этого вы можете назначить клавишу «создать» для R -Ctrl с аналогичным результатом.
В Gnome это можно сделать с помощью инструмента -настройки gnome. Я не помню о корице, но я уверен, что есть способ, потому что я тоже использовал его. (Я не уверен в других DE, и -как и вы, -я не очень хорошо говорю с Wayland ).
Затем вы можете ввести R-Ctrl
"
A
, чтобы получить Ä и т. д. Обратите внимание, что это последовательность, а не аккорд :, вы вводите R-Ctrl
, , затем "
, , затемA
.
Это не так удобно и быстро, как ваше предыдущее решение, но оно более гибкое и дает вам доступ к множеству других причудливых символов, таких как ø æ ⋄ → € ° · … ´ ≠
Эта проблема воспроизводима, но связана с выбором имени, которое мешает выбору по умолчанию, сделанному ядром.
Если не указано имя для однорангового интерфейса, к veth
добавляется наименьшее возможное целое число для создания имени однорангового узла первым . Это происходит в первую очередь, до создания самого основного интерфейса. Это можно увидеть, если указать имя, которое не может конфликтовать :
# ip link add name myveth type veth
# ip link show type veth
17: veth0@myveth: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 2a:93:f8:8e:bc:b6 brd ff:ff:ff:ff:ff:ff
18: myveth@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 8a:c3:1d:82:93:a6 brd ff:ff:ff:ff:ff:ff
имя однорангового узла выбирается обычным способом :создать интерфейс с типом и присоединенным к нему следующим доступным целым числом:veth
+0
:veth0
. Нижний индекс (здесь 17 против 18 )означает, что он создан первым.
Теперь, если указать то самое имя, которое ядро автоматически создает первым, произойдет конфликт, указанный интерфейс не будет создан, и, таким образом, одноранговый интерфейс будет удален. Никаких следов, кроме RTNETLINK answers: File exists
. Это хорошо видно при запуске в отдельной оболочкеip link monitor
:
корпус 1:
$ ip link monitor
обечайка 2:
# ip link add name veth0 type veth
RTNETLINK answers: File exists
снова оболочка 1:
23: veth0@NONE: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
link/ether 72:2d:b8:9f:90:6c brd ff:ff:ff:ff:ff:ff
Deleted 23: veth0@NONE: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
link/ether 72:2d:b8:9f:90:6c brd ff:ff:ff:ff:ff:ff
Здесь @NONE
означает, что индекс одноранговой ссылки не связан... пока. Интерфейс veth
имеет индекс одноранговой связи :на другой стороне провода виртуального Ethernet. Он должен был преобразовать индекс одноранговой ссылки в следующий только что созданный интерфейс с индексом 24, но тогда этот интерфейс не мог быть создан с именем veth0
, потому что он уже существовал (, даже если это произошло из-за его собственного создания ). ]. Это вызывает отмену всей операции и удаление эфемерного veth0
, а также сообщения об ошибке, отправленного обратно как File exists
, в противном случае не остается никаких следов проблемы.
Заключение :во избежание конфликтов,
не указывайте никаких имен и позвольте ядру выбрать их:
ip link add type veth
получение:
24: veth0@veth1: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default
link/ether 2a:93:f8:8e:bc:b6 brd ff:ff:ff:ff:ff:ff
25: veth1@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default
link/ether 86:70:54:05:0f:75 brd ff:ff:ff:ff:ff:ff
укажите имя, не соответствующее схеме именования по умолчанию
ip link add name myveth type veth
или укажите оба имени,даже если они не в порядке по умолчанию, они будут созданы ядром в его схеме именования по умолчанию (peer как veth0
и main какveth1
):
ip link add name veth0 type veth peer name veth1
не забывайте veth
интерфейсы большую часть времени (но не всегда )бесполезны за пределами среды сетевого пространства имен. При необходимости одноранговый интерфейс можно добавить непосредственно в другом месте :
ip netns add othernamespace
ip link add name veth0 type veth peer netns othernamespace
, где одноранговый узел также будет создан как veth0
без каких-либо конфликтов.
# ip link show type veth
27: veth0@if2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 2a:93:f8:8e:bc:b6 brd ff:ff:ff:ff:ff:ff link-netns othernamespace
# ip -n othernamespace link show type veth
2: veth0@if27: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether fa:cb:bf:23:fc:a6 brd ff:ff:ff:ff:ff:ff link-netnsid 0