Rodar console na inicialização (Debian)

11

Quero girar meu console (não o X Server) 90 graus (no sentido horário).

O seguinte parece funcionar para mim echo 1 > /sys/class/graphics/fbcon/rotate:; no entanto, eu preferiria usar uma opção de kernel no Grub, em vez de incluir as opções acima no /etc/rc.localscript.

A documentação fbcon delineia a seguinte opção que pode ser passado para o kernel: fbcon=rotate:<n>. Infelizmente, quando modifico /etc/default/grube modifico a GRUB_CMDLINE_LINUXlinha desta forma:

GRUB_CMDLINE_LINUX="fbcon=rotate_all:1"

... não funciona. Eu também corri update-grubantes de reiniciar.

Eu também tentei isso:

GRUB_CMDLINE_LINUX="fbconsole=rotate_all:1"

Nada ainda. Alguma ideia?

BMiner
fonte
Por que você não quer editar rc.local?
Emanuel Berg

Respostas:

10

Descobri isso. Você pode precisar adicionar video=efifbpara garantir que o console framebuffer é usado:

GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"

EDIT : O driver efifb foi projetado apenas para firmware EFI, especialmente computadores Apple baseados em Intel. No entanto, como descobri, ele também funciona para PCs que não são da Apple. Estou executando os drivers proprietários da nVidia no meu sistema Linux e o driver efifb funciona muito bem. Suponho que funcione para mim porque estou usando drivers da nVidia e o driver "nativo" fbdev entra em conflito com eles.

Para ser sincero, não entendo completamente por que o driver efifb faz as coisas funcionarem, mas se alguém o fizer (ou se você conseguir fazer as coisas funcionarem com outro driver de buffer de quadros com os drivers da nVidia instalados), comente abaixo. Obrigado!

BMiner
fonte
2
Advertência grande: isso se aplica apenas se a sua máquina for fornecida com um BIOS habilitado para EFI.
precisa saber é
Obrigado por postar sua solução! Se isso realmente resolveu o problema para você, aceite-o para que a pergunta possa ser marcada como respondida.
terdon
@aperezbios - Tem certeza de que é o caso? Tenho certeza de que já vi isso funcionando em um sistema BIOS convencional.
BMiner 16/01
@BMiner +1. Com a opção "video = efi fb", é lógico que isso funcione apenas no efi BIOS. Possivelmente, existe um comando diferente para o BIOS não efi.
MariusMatutiae 29/11
@MariusMatutiae - De fato. A video=efifbpeça não é necessária se você estiver executando um firmware do BIOS ou inicializado no modo de compatibilidade do BIOS com um firmware EFI, embora provavelmente também não seja prejudicial. Tecnicamente falando , não existe "EFI BIOS", apenas firmware EFI ou firmware BIOS.
BMiner
2

Há uma diferença pequena, mas importante, entre a documentação e o que você escreveu no seu arquivo de configuração:

… A seguinte opção que pode ser passada para o kernel: fbcon = rotate : <n>

Enquanto você escreveu

fbcon = rotate_all : 1

rotate_allnão é uma palavra-chave válida. Se você deixar de fora o _allsufixo, ele deve funcionar:

GRUB_CMDLINE_LINUX="fbcon=rotate:1"

tubo
fonte
A documentação OP vinculada menciona rotate_allcomo um nome válido no /sys/class/graphics/fbcondiretório sysfs. Só que os argumentos do kernel não usam o mesmo conjunto de palavras que os atributos do sysfs.
Ben Voigt