魔法のシステム要求キー について最近知りました。 LinuxベースのOSがインストールされているMacのキーボードから、またはキーボードにキーボードがない場合に、キーボードからそれらを使用するにはどうすればよいですか? SysReq キー?に相当するシーケンスはありますか meta-SysReq、またはそれを作成する方法?
持っていない同じスキャンコードを生成するキーがない場合、唯一のオプションはecho <char> > /proc/sysrq-trigger
です。ここで、<char>
はM-SysRq
と一緒に押すキーです。 (もちろん、これは、マジックSysRqがコンパイルされたカーネルを実行していて、以前にecho 1 > /proc/sys/kernel/sysrq
などで/etc/rc.local
を実行したことを前提としています。)
ランダムな/ procエントリにエコーすることによって得られる淡い模倣ではなく、本当の魔法のSysRq機能が必要な場合は、SysRqキーを備えたPCスタイルのUSBキーボードを見つける必要があります。 Linuxは、実行されているアーキテクチャに関係なく、スキャンコードを適切に解釈します。この場合、注意が必要なのは、最初にスキャンコードを生成することです。これは、標準のMacキーボードからは実行できません。
(一方、SysRqの代わりにMacのイジェクトキーなどの別のスキャンコードを認識するようにカーネルをコンパイルできる可能性があります。MBPをダウングレードしたいという衝動を感じたことは一度もないので、そうしませんでした。直接知っているのですが、誰かがやったと思います。あるいは、おそらくあなたが最初になるでしょう。結局のところ、カーネルをカスタムハッキングすることは、Linuxを実行する楽しみの半分なので、理解することができます。)
更新:どうやらこれは実行できます ユーザースペースから :
現在のところ、最善の方法は、keyfuzzプログラムをインストール(手動でコンパイル)して、
echo "786616 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Inc._Apple_Internal_Keyboard___Trackpad-event-kbd
たとえば、/ etc/profileにあります。これは、典型的なApple Macbook Pro(私の2010年半ば、6、2))のAlt-EjectをAlt-SysRqの組み合わせにマッピングします。
もっと古臭い、 "Two-Fisted Tales of Linux"のような経験を探しているのなら、そのコメントスレッドからリンクされたいくつかのカーネルパッチがあり、カーネルレベルでのキーコードの再マッピングのガイダンスを提供します。
この答え ここにも投稿されています 。
3時間または4時間のハードな検索、読み取り、試行錯誤の後、これはすべてのAppleで機能する、より徹底的で一般的な答えです/Macラップトップまたはキーボードただし、私の特定のケースでは、Xubuntu 16.04LTSを実行している2008MacBookホワイトにこのソリューションを使用しています。
Bengt Olssonの優れた説明をここに掲載 に感謝します。欠けている詳細を理解するために必要な出発点が得られました。
このソリューションはユーザー空間で行われ、いくつかの提案のようにカーネルを再コンパイルする必要はありません。
Keyfuzzのソースをダウンロードし( http://0pointer.de/lennart/projects/keyfuzz/keyfuzz-0.2.tar.gz )、解凍します(右クリックして[抽出]に移動しますここで」、たとえば私のGUIファイルマネージャーでそれを抽出します)。 keyfuzzの詳細については、 ここを参照 。 GNU GPL 2.0以降のオープンソースライセンス(yaaayオープンソース!)でリリースされています。
./configure
_コマンドが失敗します。依存関係をインストールしないと、以下の_./configure
_を実行すると、いくつかのエラーが発生する可能性があります。
_Sudo apt-get update Sudo apt-get install lynx xmltoman gengetopt
_
通常のコマンドでkeyfuzzをコンパイルしてインストールします。
_./configure make Sudo make install
_
_/dev/input/by-id
_に移動し、「-event-kbd」で終わるAppleキーボードを見つけます。
_cd /dev/input/by-id ls
_
- 私にとっては「usb-Apple_Computer_Apple_Internal_Keyboard ___ Trackpad-event-kbd」です
次の行を_/etc/rc.local
_ファイルに追加して、コンピューターが起動してこのユーザーをロードするたびにこのコマンドが実行されるようにします。上で見つけたAppleキーボードエントリを使用していることに注意してください。このコマンドは、keyfuzzを使用してAppleキーボードまたはラップトップのF12またはF13をシステム " Magic SysRq key "、ソフトリブート用。
458821 99
_。ここでそれを理解してくれた「pjjjv」に感謝します! https://ubuntuforums.org/archive/index.php/t-762665.html458856 99
_。rc.local
_に追加したコマンドは、_echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
_です。/etc/rc.local
_ファイル全体です。_#!/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
_
これで、Alt + F12を押して(または上記のようにAlt + F13を使用できます)、REISUBを発行してコンピューターをソフトリブートできます Xubuntu 16.04LTSを実行している私のMacBook2008ラップトップ。
コマンドを発行する前に、最初にCtrl+Alt+F1 (F1 through F6 work actually)
を使用して別のセッションにジャンプして各キーを押すと、REISUBを発行して返される結果を確認できることに注意してください。メインのX Windowセッションに戻るには、_Ctrl+Alt+F7
_を使用します。
「このsysrq操作が無効になっています」という結果が表示された場合、セキュリティ上のリスクが生じる可能性があるため、いくつかのコマンドでは正常です。ただし、Boot oneは引き続き機能しますが、コンピューターをソフトリブートできます。これに関するいくつかの詳細情報があります ここのmniessから :
Ubuntu 12.10以降、Magic-SysRq機能を有効にするためのよりきめ細かい制御が可能になりました。ファイル/ etc/sysctl.d/10-magic-sysrq.confを編集するだけです。
このファイルは十分に文書化されており、どの機能を有効にするかを正確に説明しています。現在のデフォルトはセキュリティの目的で選択されており、必要な理由がわかっている場合にのみ変更する必要があります(セキュリティへの影響については、 バグ#194676 を参照してください)。