AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 484832
Accepted
DannyNiu
DannyNiu
Asked: 2018-11-29 22:42:12 +0800 CST2018-11-29 22:42:12 +0800 CST 2018-11-29 22:42:12 +0800 CST

SSH para FreeBSD em UTF-8

  • 772

Estou tentando ssh para FreeBSD-11.2-Release da minha máquina Windows usando o Mintty, mas quando defino LC_ALL para en_US.UTF-8 e tento inserir/colar um caractere não ASCII, a conexão foi fechada.

Estou usando o Cygwin e também tentei o Qterminal e o Terminator.

O FreeBSD tem um problema com caracteres UTF-8 na versão 11.2-Release? Ou isso é apenas específico do Windows (o que quero dizer que os usuários do macOS ou Linux não têm problemas com isso)?

Nota: Eu não tenho nenhum sistema de janelas instalado na máquina FreeBSD.

ssh freebsd
  • 1 1 respostas
  • 2038 Views

1 respostas

  • Voted
  1. Best Answer
    Claus Andersen
    2018-11-30T06:43:11+08:002018-11-30T06:43:11+08:00

    Você reivindica a configuração, LC_ALLmas não tenho certeza de que está fazendo isso corretamente. Tudo está realmente coberto no Manual do FreeBSD: 22.2. Como usar a localização

    Eu recomendo fortemente que você use o "Método de Classes de Login" (login.conf) em vez do "Método de Arquivo de Inicialização do Shell" (.profile), pois ele é muito mais consistente no sistema e nos shells.

    Quando as pessoas dizem que modificaram as configurações relacionadas ao idioma, geralmente esquecem 2 coisas:

    1. Ao alterar /etc/login.conf(todo o sistema) ou ~/.login.conf(usuário), você precisa executar cap_mkdb para ter algum efeito!
    2. E ao testar lembre-se de iniciar uma nova sessão!

    A primeira coisa é verificar suas configurações executando o comando locale. Em um sistema FreeBSD vanilla, ele mostrará isso:

    $ locale
    LANG=
    LC_CTYPE="C"
    LC_COLLATE="C"
    LC_TIME="C"
    LC_NUMERIC="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=
    

    Com essas configurações, você terá problemas de Unicode com os terminais mais comuns. Estou usando o PuTTY, mas não consigo colar o seguinte teste no terminal:

    ÆØÅ жз ઑ ᱵ
    

    Isso ocorre porque a configuração padrão do FreeBSD é não usar unicode. Esta resposta foi testada em relação ao 11.2, mas no futuro, a partir do 13, o padrão será "C.UTF8" e nenhuma alteração será necessária. Em uma instalação vanilla, você pode, no entanto, fazer uma verificação muito rápida configurando seu usuário para usar "russian". A razão é que o russo é o único idioma definido fora da caixa (em /etc/login.conf) e está usando unicode.

    pw usermod johndoe -L russian
    

    Agora faça login em uma nova sessão usando a conta "johndoe" (seja qual for o nome do seu usuário). Agora você poderá colar unicode (do teste acima) no shell. Verifique como as configurações foram selecionadas usandolocale

    $ locale
    LANG=ru_RU.UTF-8
    LC_CTYPE="ru_RU.UTF-8"
    LC_COLLATE="ru_RU.UTF-8"
    LC_TIME="ru_RU.UTF-8"
    LC_NUMERIC="ru_RU.UTF-8"
    LC_MONETARY="ru_RU.UTF-8"
    LC_MESSAGES="ru_RU.UTF-8"
    LC_ALL=
    

    Como agora verifiquei que o unicode básico realmente funciona - então posso começar a configurar as coisas ao meu gosto. Como sou dinamarquês, vou realizar os seguintes passos simples:

    1. Adicione configurações de idioma

    Para cada idioma que eu precisar, adicionarei uma seção ao/etc/login.conf

    danish|Danish Users Accounts:\
            :charset=UTF-8:\
            :lang=da_DK.UTF-8:\
            :tc=default:
    

    2. Atualizar banco de dados

    Sempre que você edita o login.conf de origem, você precisa atualizar o banco de dados.

    cap_mkdb /etc/login.conf
    

    3. Defina os idiomas do usuário

    Eu costumo usar pwpara gerenciar meus usuários. Agora só preciso especificar o idioma quando crio ou modifico meus usuários.

    pw useradd janedoe -L danish
    

    DICA: Minha preferência pessoal é não alterar o "padrão" de todo o sistema, mas mantê-lo como padrão. Em seguida, defino o idioma para contas do sistema, como "postgres". Se você tiver configurações muito específicas necessárias para uma conta do sistema não coberta por sua configuração de idioma, eu criaria um "idioma" separado (classe de login) para essa conta em /etc/login.conf. Isso mantém as coisas bonitas e arrumadas.

    DICA 2: O acima mostra como definir a classe com base no usuário. Se você deseja uma mudança em todo o sistema, você pode alterar a classe "default" em login.conf.

    DICA PuTTY: Seu terminal naturalmente também precisa estar ciente de UTF-8. No PuTTY isso está nas configurações: Window ⮕ Translation. Eu tenho o meu definido como "UTF-8". Se você estiver na área CJK, marque "Tratar caracteres ambíguos CJK como amplos". E os usuários de cirílico geralmente gostam de "Caps Lock atua como interruptor cirílico".

    • 7

relate perguntas

  • Auto-SSH funciona manualmente, mas não em segundo plano

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • rsync porta 22 e 873 uso

  • Aborto repentino do SCP: tubo quebrado, código de autenticação de mensagem incorreto

  • FreeBSD's sh: funções de lista

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve