Какой символ Unicode является символом ключа, показанным командой macOS SSH? - PullRequest
0 голосов
/ 12 мая 2019

macOS SSH key symbol

Я пишу консольное приложение, которое запрашивает пароль, и я хотел бы использовать тот же символ, что и команда macOS ssh, но оно не отображается в средстве просмотра символов (paceSpace) под слово ключ Ближайшим является ? или ?. Кажется, что это специфично для Mac, поскольку я не вижу его в исходном коде для OpenSSH . Кто-нибудь знает, чтобы произвести этот символ?

1 Ответ

1 голос
/ 12 мая 2019

Это не символ, это точка вставки (текстовый курсор), и она рисуется приложением терминала, а не ssh.Похоже, вы используете iTerm;если вы запустите это в терминале, вы увидите, что он отображает другой значок.Значок ключа, который вы ищете, находится в папке ресурсов iTerm (key.tiff).

Курсор ключа включается всякий раз, когда ECHO выключается на терминале.Например, в C:

#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>

int main (){
    struct termios termInfo, save;

    // Fetch the current attributes
    if (tcgetattr(STDIN_FILENO, &termInfo) == -1) {
        perror("tcgetattr");
        exit(1);
    }

    save = termInfo;

    // turn off ECHO, and ECHONL on
    termInfo.c_lflag &= ~ECHO;
    termInfo.c_lflag |= ECHONL; // echo newline even if echo is off

    // Set it
    tcsetattr(STDIN_FILENO, TCSASOFT|TCSADRAIN, &termInfo);

    printf("Password: ");

    // Consume characters until the user presses enter
    while (fgetc(stdin) != '\n') {}
    printf("Accepted\n");

    // Set it back to the original values
    tcsetattr(STDIN_FILENO, TCSASOFT|TCSADRAIN, &save);
}

Это отобразит значок ключа, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...