Como uso o REISUB com um teclado fino de alumínio da Apple?


Respostas:


2

Esta resposta também postou aqui .

Após 3 ou 4 horas de pesquisa, leitura e tentativa e erro, eis uma resposta genérica e completa que deve funcionar para qualquer laptop ou teclado Apple / Mac, não apenas para o "teclado fino de alumínio da Apple". No meu caso particular, no entanto, estou usando esta solução para um MacBook 2008 branco executando o Xubuntu 16.04 LTS.

Muito obrigado a Bengt Olsson por suas excelentes instruções aqui, que me deram o começo necessário para descobrir os detalhes ausentes.

Essa solução é feita no espaço do usuário e NÃO requer a recompilação do kernel como algumas sugestões.

  1. Faça o download do código-fonte do keyfuzz e extraia-o (posso clicar com o botão direito do mouse e ir para "Extrair Aqui" para extraí-lo no meu gerenciador de arquivos da GUI, por exemplo). Para ler mais sobre o keyfuzz, veja aqui . É liberado sob a licença de código aberto GNU GPL 2.0 ou posterior (yaaay open source!).

    • Não use um diretório muito profundo (ou com espaços possivelmente), caso contrário, o ./configurecomando abaixo falhará.
  2. Instale dependências, ou então, a execução ./configureabaixo pode gerar alguns erros:

    sudo apt-get update
    sudo apt-get install lynx xmltoman gengetopt
    
  3. Compile e instale o keyfuzz com os comandos usuais:

    ./configure
    make
    sudo make install
    
  4. Navegue /dev/input/by-ide encontre o teclado Apple que termina em -event-kbd:

    cd /dev/input/by-id
    ls
    

    Para mim é

    usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
    
  5. Adicione a seguinte linha ao seu /etc/rc.localarquivo, para fazer com que esse comando seja executado sempre que o computador inicializar e carregar esse usuário. Observe que estamos usando a entrada do teclado Apple que acabamos de encontrar acima. Este comando usa o keyfuzz para mapear F12ou F13no teclado ou laptop da Apple para o sistema " Magic SysRq key " , para reinicializações suaves.

    • Para mapear F12a SysRq: 458821 99. Muito obrigado a "pjjjv" por descobrir isso aqui !
    • Para mapear F13a SysRq: 458856 99.
    • Como o meu MacBook 2008 não possui F13, estou usando a F12opção acima. Lembre-se também de usar a entrada correta do teclado que encontramos acima. O comando que eu adicionei rc.localpara o meu caso é:

      echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
      
    • Aqui está meu /etc/rc.localarquivo inteiro , com a entrada apropriada:

      #!/bin/sh -e
      #
      # rc.local
      #
      # This script is executed at the end of each multiuser runlevel.
      # Make sure that the script will "exit 0" on success or any other
      # value on error.
      #
      # In order to enable or disable this script just change the execution
      # bits.   
      #
      # By default this script does nothing.
      
      echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
      
      exit 0
      
  6. Reinicie.

Agora eu posso pressionar Alt+ F12(ou você pode usar Alt+ F13como descrito acima) e emitir o REISUB para reinicializar o computador com facilidade. Funciona perfeitamente no meu laptop MacBook 2008 executando o Xubuntu 16.04 LTS.

Observe que você pode ver os resultados retornados emitindo o REISUB enquanto pressiona cada tecla saltando primeiro para uma sessão alternativa com Ctrl+ Alt+ F1( F1através do F6trabalho realmente) antes de emitir o comando. Para voltar à sua sessão principal do X Window, use Ctrl+ Alt+ F7.

Se você obtiver um resultado que diz

This sysrq operation is disabled

isso é normal para vários comandos, pois eles representam um risco potencial à segurança. O boot ainda deve funcionar, no entanto, permitindo a reinicialização suave do computador. Aqui estão mais algumas informações sobre isso, da mniess aqui :

A partir do Ubuntu 12.10, é possível um controle mais refinado dos recursos do MagicSysRq ativados. Apenas edite o arquivo /etc/sysctl.d/10-magic-sysrq.conf .

O arquivo está bem documentado e informa exatamente como ativar quais recursos. O padrão atual foi escolhido para fins de segurança e só deve ser alterado se você souber por que precisa (para implicações de segurança, consulte o bug # 194676 ).

Que dor na bunda. :) Felicidades.
Feliz "Linux".
~ Gabriel Staples
www.ElectricRCAircraftGuy.com


Eu usei `sudo checkinstall -D --install` em vez de sudo make installinstalar o keyfuzz como um pacote.
Jarno

1
Usei o código de chave 786616 para mapear Alt + Eject , em vez de F12 ou F13.
Jarno

/etc/rc.localpode não estar ativado nas versões recentes do Ubuntu; Corra systemctl status rc-local.servicepara ver. Na minha pergunta, há algumas informações sobre como executar o keyfuzz pelo systemd. Também tentei outro método para remapear uma chave.
jarno 02/09/19

2

Só fiz isso. Se você não deseja recompilar o kernel como sugerido no primeiro link da primeira resposta, existe uma maneira mais simples. É meio que descrito no segundo link da primeira resposta, mas aqui está o procedimento real:

  1. Fonte de download para keyfuzz

  2. Compile e instale com os comandos usuais

    ./configure
    make
    sudo make install
    
  3. Adicione a seguinte linha ao seu arquivo /etc/rc.local:

    echo "458856 99" | sudo /usr/local/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_Keyboard-event-kbd
    

Agora deve ser possível pressionar Alt+ F13e emitir REISUB. Trabalhei no meu Xubuntu 15.10.


Eu tenho um MacBook 2008 executando o Xubuntu 16.04 LTS. Este laptop não tem F13 :(
Gabriel Staples

Eu descobri! Mapeado para F12 em vez disso! Obrigado pela sua resposta aqui, que foi fundamental para me ajudar a descobrir. Veja minha resposta aqui: askubuntu.com/a/896806/327339 .
Gabriel Staples

1

Não tenho um teclado de alu disponível para testar isso, mas:

Sistema: Preferências: Preferências do teclado: Opções de layout do teclado: Opções diversas de compatibilidade:…


Que aplicativo é esse?
gato

Essa era a caixa de diálogo de configurações do teclado na versão 10.04, acessível através das principais configurações do sistema. Isso é antigo e provavelmente parece muito diferente hoje em dia. Eu não saberia onde encontrar o equivalente atual; Eu não uso o Ubuntu há algum tempo.
ParanoiaPuppy

Isso funcionará apenas para o X11, não para o manipulador Magic-SysRq do kernel.
Ruslan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.