Отображение привязок клавиш

Ничего себе, благодарит задать этот вопрос. Я нахожу редким видеть кого-то полностью использующего SSH, и этот вопрос совершает нападки на нескольких областях.

Это не a ProxyCommand проблема. ProxyCommand просто дает локальному ssh клиенту команду делать что-то в подготовке прежде, чем попытаться говорить с удаленным клиентом. Да, в нашем экземпляре мы говорим с другой ssh сессией, но той сессией, с -W просто берет наш вход и вперед это к другой машине. Можно думать о той предварительной ssh сессии, абсолютно независимо. Неизбежная автомобильная аналогия: Ваш автомобиль является тем же автомобилем, независимо от того, необходимо ли было ездить на пароме, чтобы заставить от точки указывать на B.

Это не a ForwardAgent проблема. ForwardAgent сделал, чтобы локальный клиент предоставил услугу, которая делает локальные ключи доступными в среде удаленного сеанса. Вы не закончили установление удаленного сеанса.

Это .ssh/config проблема формата. Отметьте вторые и третьи debug1 строки. Они перечисляют, какие строки файла конфигурации Хоста применяются от Вашего .ssh/config. Вы отмечаете это $ ssh target.example.com%via работы, но как неверное имя пользователя и ключ. Ну, строка файла конфигурации для Host target не читается (который ввел бы корректное имя пользователя и файл ключей). Какие строки файла конфигурации используются? * и *%via.

Как получить эти опции передать? Ну, достаточно интересный, подстановочный знак соответствует 0 строкам длины. Host target* будет соответствовать target, target%via, target.example.com и target.example.com%via.

И таким образом, Вы задаете вопрос, был бы, устанавливая .ssh/config на gateway справка машины. Нет, это не было бы. Это никогда не читалось бы. Все происходит от нашей локальной машины.

Все, что я объяснил, только отвечает почему $ ssh target.example.com%via не работает.

Вы предпочитаете $ ssh target%via. Справедливо так, это более удобно. Краткая форма перестала работать потому что как имя хоста, target не найден; это не решает. То, почему не, не является извергающим ssh: ssh: Could not resolve hostname target: Name or service not known? Поскольку ProxyCommand был уже успешно установлен. Элементы соединения SSH были созданы, но отказ имени хоста происходит, где он не ожидает, и таким образом, он разбомбит с более универсальным сообщением. Я зарегистрировал бы отчет об ошибках на этом, чтобы помочь определить, где отладочная информация могла быть улучшена.

Заключительный комментарий:

Мне действительно нравится Host *%via синтаксис. Это чисто, все же гибко. Я ранее видел Host *+* и это использует обоих первая и последняя часть %h(ost) определить, куда пойти. Но прилагает немного больше усилий получить Ваш ум вокруг этого. ссылка: http://wiki.gentoo.org/wiki/SSH_jump_host

4
09.11.2014, 01:36
1 ответ

Здесь Как это было сделано, с XKB. Современные версии Chrome OS Теперь используйте Ash .

Создание каталогов под названием ~ / .xkb / keymap , ~ / .xkb / Типы и ~ / .xkb / Символы . Создать файл ~ / .xkb / Типы / Chromebook , содержащий следующее определение:

xkb_types "chromebook" {
    virtual_modifiers Alt;
    type "ARROW" {
        modifiers              = Shift+Lock+Alt+Control;
        map[Shift]             = Level2;
        map[Lock]              = Level2;
        map[Alt]               = Level3;
        map[Alt+Shift]         = Level3;
        map[Alt+Lock]          = Level3;
        map[Control+Alt]       = Level4;
        map[Control+Alt+Shift] = Level4;
        map[Control+Alt+Lock]  = Level4;
        level_name[Level1]     = "Base";
        level_name[Level2]     = "Caps";
        level_name[Level3]     = "Alt";
        level_name[Level4]     = "ControlAlt";
    };
}

Создать файл ~ / .xkb / symbols / chromebook , содержащий следующее определение:

xkb_symbols "chromebook" {
    key <UP> {
        type="ARROW",
        repeat=yes,
        [ Up, Up, Prior, Home ],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<PGUP>, clearmods=Alt),
            RedirectKey(key=<HOME>, clearmods=Control+Alt)
        ]
    };
    key <DOWN> {
        type="ARROW",
        repeat=yes,
        [ Down, Down, Next, End ],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<PGDN>, clearmods=Alt),
            RedirectKey(key=<END>, clearmods=Control+Alt)
        ]
    };
};

Запустите команду SetXKBMAP -Print> ~ / .xkb / keymap / chromebook . Отредактируйте полученный файл и добавьте + ChromeBook внутри включают директивы xkb_types и xkb_symbols ; Файл должен выглядеть следующим образом:

xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete+chromebook"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+chromebook"     };
        xkb_geometry  { include "pc(pc105)"     };
};

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

xkbcomp -I ~/.xkb -R ~/.xkb keymap/chromebook $DISPLAY

Примечание: это непроверено, я не очень знаком с XKB, и он плохо документирован. Я пытался следовать Советы XKB Vincent Lefèvre .

3
27.01.2020, 20:58

Теги

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