Como obter o nome do computador (não o nome do host)?

17

Todos os resultados das minhas pesquisas acabam tendo algo a ver com hostname ou uname -n . Eu procurei o manual para ambos, procurando por opções sorrateiras, mas sem sorte.

Estou tentando encontrar um equivalente do scutil --get ComputerName do OSX em sistemas Linux. No Mac OS X, o nome do computador é usado como um identificador legível para o computador; é mostrado em várias telas de gerenciamento ( por exemplo, sobre gerenciamento de inventário, acesso remoto baseado em Bonjour, ...) e serve como nome de host padrão (após filtragem para manipular espaços, etc.).

    
por Sheljohn 11.01.2016 / 13:11

3 respostas

28

O equivalente mais próximo de um nome legível (e escolhido pelo ser humano) para um computador que executa o Linux é o nome de host padrão armazenado em /etc/hostname . Em algumas distribuições (não todas) do Linux, esse nome é inserido durante a instalação como o nome do computador (mas com restrições de hostname da rede, ao contrário do nome do computador do Mac OS X).

    
por 11.01.2016 / 13:40
16

Estritamente falando, não existe um "nome de computador" não relacionado à rede no Linux, e eu realmente não consigo ver o propósito de nomear computadores que não estão na rede.

O motivo pelo qual seu computador possui cadeias diferentes em /etc/hostname , /etc/hosts e uname -n é que o protocolo DHCP tem recursos para fornecer um nome de host junto com o endereço IP para um novo host. "machine42.work.localnetwork" parece exatamente com o nome que o servidor DHCP escolheria. Esta string é então salva e retornada pelas chamadas gethostname .

Veja também:

Como eu mudo o nome do computador? (tl; dr echo computername > /etc/hostname ) - é o que acontece quando você escolhe um nome durante a instalação.

Como eu mudo o nome do host sem reiniciar? (tl; dr hostname computername ) - é o que acontece quando você recebe uma concessão de DHCP com um nome de host.

    
por 11.01.2016 / 14:26
15

Você pode usar o comando sudo dmidecode | grep -A3 '^System Information' . Este comando lê informações do BIOS e do hardware. Exemplo da minha máquina:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

Fontes: [1]

    
por 11.01.2016 / 13:26