Чтобы завершить ответ @jordanm ... если вы оба используете одну и ту же учетную запись пользователя, то есть вывод из
echo $HOSTNAME
echo $USER
то же самое для вас и вашего коллеги -, тогда мы можем немного повеселиться.
Мы можем разрешить просмотр вызванных команд в одном терминале, чтобы они сразу же были доступны в другом
Если вы вызовете history
в своем терминале, вы увидите свои предыдущие команды. По умолчанию bash записывает свою историю в конце каждого сеанса в ~/.bash_history file
, перезаписывая существующий файл обновленной версией. Это означает, что если вы вошли в систему с несколькими сеансами bash, только последний из них сохранит свою историю.
-------------------------------------------------------
Отредактируйте свой ~/.bashrc
и добавьте к нему
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
где
history -a
добавляется в файл ~/.bash_history
сразу, а не в конце сеанса
history -c
очищает текущую историю сеансов
history -r
читает файл ~/.bash_history
, к которому мы добавили, обратно в нашу историю сеансов
Примечание:параметр PROMPT_COMMAND
содержит команды, которые выполняются перед каждой новой командной строкой. поэтому команда1 будет сохранена в истории только при выполнении команда2
Вы также можете добавить временную метку рядом с каждой командой для удобства просмотра истории. Снова отредактируйте ~/.bashrc
и добавьте
export HISTTIMEFORMAT="%d/%m/%y %T "
Также хороший хак, если вы хотите использовать несколько терминалов и хотите, чтобы ваша история команд была доступна:)
На самом деле я заставил его работать даже с xkeymap
, я оставлю его здесь как другой ответ, потому что метод сильно отличается от моего предыдущего решения.
Возможно, вы пропустили некоторые случаи использования AltGr .
Пытаясь повторить вашу установку, я экспортировал текущий файл конфигурации с помощью команды xkbcomp $DISPLAY current.xkb
и отредактировал его, удалив все вхождения ISO_Level3_Shift
, LVL3
и Mod5
.
Именно то, что я удалил:
interpret ISO_Level3_Shift+AnyOf(all) {
virtualModifier= LevelThree;
useModMapMods=level1;
action= SetMods(modifiers=LevelThree,clearLocks);
};
interpret ISO_Level3_Shift+AnyOfOrNone(all) {
action= SetMods(modifiers=LevelThree,clearLocks);
};
key <LVL3> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
key <RALT> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <LVL3> };
Затем я вставил:
key <LVL3> {[space]};
key <RALT> {[space]};
Эту отредактированную конфигурацию можно протестировать, загрузив ее с помощью
xkbcomp new_conf.xkb $DISPLAY
Я не нашел ни одной ссылки, доказывающей, что то, что вы предложили, не должно работать в Firefox, хотя кажется, что Chromium (и, следовательно, Chrome )не зависит от xkeymaps :это разработка варианта , который лучше интегрирует программу в ChromeOS. Поэтому некоторые переназначения системы могут не поддерживаться.
Исправление, которое сработало для меня, заключается в переназначении кодов клавиш на уровне ядра. Для этого я собрал скан -коды (аппаратный идентификатор ключа )и ключ -коды (символ, в котором они отображаются )как для пробела, так и для altGr:
# to collect scan-codes
sudo showkey -s
# space press: 0x39
# altGr press: 0xe0 0x38
# to collect key-codes
sudo showkey
# space press: 57
# altGr press: 100
Насколько я понял, вы хотите переназначить altGr на пробел, потому что у вас сломан пробел, поэтому:
sudo setkeycodes e038 57
должно помочь.
Чтобы сделать это постоянным в Kali Linux, вам нужно отредактировать файл xinit по умолчанию, /etc/xdg/xfce4/xinitrc
, скопировав его в ~/.xinitrc
и вставив sudo setkeycodes e038 57
перед оператором if, который содержит exec xfce4-session
; в файле по умолчанию Kali 20.04 этот оператор if находится в строке 86.
Обратите внимание, что для этого требуется включить sudo без пароля ), но, насколько я помню, это уже опция по умолчанию в Kali.