Ubuntu Serverでディスプレイ出力を90度回転させる方法は、GUI(デスクトップ環境)の有無によって異なります。
1. GUIがない場合(コンソール画面のみ)
Ubuntu Serverの標準的なCUI画面(仮想コンソール)を回転させるには、フレームバッファ(fbcon)の設定を変更します。
- 即時反映させるコマンド:
以下のコマンドを実行すると、現在の画面が即座に回転します。bash# 90度右回転 (時計回り) echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all # 90度左回転 (反時計回り) echo 3 | sudo tee /sys/class/graphics/fbcon/rotate_all # 0:標準, 1:90度, 2:180度, 3:270度 - 永続的に設定する方法(再起動後も有効):
GRUBの設定ファイルを編集して、起動オプションに回転設定を追加します。- 設定ファイルを開く:
sudo nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT行にfbcon=rotate:1を追記する(90度回転の場合)。
例:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash fbcon=rotate:1"- 設定を更新する:
sudo update-grub - システムを再起動する。
- 設定ファイルを開く:
2. GUIがある場合(Ubuntu Desktopを導入済み)
デスクトップ環境(GNOMEなど)を使用している場合は、xrandr コマンドまたは設定メニューを使用します。
- コマンドで回転:bash
# 90度右回転 xrandr -o right # 90度左回転 xrandr -o left # 元に戻す xrandr -o normalコードは注意してご使用ください。※ Wayland環境ではgnome-monitor-configなどのツールが必要になる場合があります。 - 設定メニューから変更:
[設定] > [ディスプレイ] > [向き (Orientation)] から「Portrait Right(右縦)」または「Portrait Left(左縦)」を選択して適用します。
現在、どちらの環境(コンソール画面かデスクトップ画面か)で作業されていますか?
GUIは未インストールでConsoleで作業しています。
GUIがインストールされていないUbuntu Server(コンソール画面)では、フレームバッファ(fbcon)の機能を設定することで画面を回転させることができます。
1. コマンドで即時に回転させる(一時的)
現在ログインしているコンソール、またはすべての仮想コンソールを即座に回転させるには、以下のコマンドを実行します。
- すべてのコンソールを90度回転(時計回り):bash
echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all - 各数値の意味:
0: 標準(回転なし)1: 90度回転(時計回り)2: 180度回転(上下反転)3: 270度回転(反時計回り)
2. 再起動後も設定を維持する(永続的)
再起動しても回転した状態を維持するには、ブートローダー(GRUB)の設定を変更して、カーネルパラメータに回転の指示を追加します。
- 設定ファイルを開く:bash
sudo nano /etc/default/grub - パラメータを追記する:
GRUB_CMDLINE_LINUX_DEFAULT(またはGRUB_CMDLINE_LINUX)の行に、fbcon=rotate:1を追加します。- 例:
GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity fbcon=rotate:1"
- 例:
- GRUBの設定を更新する:bash
sudo update-grub - システムを再起動する:bash
sudo reboot
注意事項
- ハードウェアの制限: 使用しているビデオカードのドライバやハードウェア構成によっては、フレームバッファの回転(fbcon rotation)がサポートされていない場合があります。
- 特定のアプリへの影響: この設定はコンソールのテキスト表示に対するものであり、フレームバッファを直接操作する一部のグラフィカルなアプリケーションには反映されないことがあります。
この設定を試しても画面が変化しない場合、使用されているグラフィックドライバ名を教えていただけますか?
/etc/default/grubが新規ファイルとなっていたのですが、それでいいのでしょうか。 また、update-grubがcommand not foundで見つかりません。
/etc/default/grub
が新規ファイルになり、update-grub コマンドが見つからない場合、お使いの環境は Raspberry Pi や ARMベースのシングルボードコンピュータ、あるいは クラウドイメージ(UEFIブートではない特殊な構成) である可能性が高いです。
これらの環境では GRUB の代わりに別のブートローダーや設定ファイルが使用されています。デバイスの種類に合わせて以下の方法を試してください。
1. Raspberry Pi を使用している場合
Raspberry Pi版の Ubuntu Server では、設定は /boot/firmware/config.txt で管理されています。
- 設定ファイルを開く:bash
sudo nano /boot/firmware/config.txtコードは注意してご使用ください。 - 回転設定を追記する:
ファイルの末尾に以下の行を追加します。- 90度回転(時計回り):
display_rotate=1 - 270度回転(反時計回り):
display_rotate=3
- 90度回転(時計回り):
- 保存して再起動:
Ctrl+O→Enterで保存し、Ctrl+Xで終了した後、sudo rebootで再起動してください。
2. 一般的な環境(x86/64)で GRUB がない場合
最近の Ubuntu Server では、GRUB の代わりに systemd-boot が使われるケースがあります。その場合、カーネルパラメータを直接編集します。
- コマンドでの即時確認(一時的):
まず以下のコマンドで回転するか確認してください。bashecho 1 | sudo tee /sys/class/graphics/fbcon/rotate_all - 永続化(スクリプト化):
systemd-boot環境でパラメータを渡すのが難しい場合、起動時に自動実行するスクリプトを作成するのが確実です。crontab -eを実行し、末尾に以下を追記します:@reboot echo 1 > /sys/class/graphics/fbcon/rotate_all
3. 使用しているデバイスの確認
もし上記で解決しない場合、どのようなハードウェア(PC、Raspberry Piなど)で実行しているか教えていただければ、より正確な設定ファイルをご案内できます。
まずは echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all を実行して、画面が回転するかどうか確認してみてください。
Raspberry pi zero2wを使っています。rotate_allでは回転します。
Raspberry Pi Zero 2 W を使用している場合、ブートローダーが GRUB ではなく
cmdline.txt という設定ファイルを読み込むため、update-grub コマンドは存在しません。
rotate_all コマンドで回転が成功しているのであれば、以下の手順で設定を永続化(再起動後も有効化)できます。
設定の永続化手順
- 設定ファイルを開く:
Ubuntu Server on Raspberry Pi では、カーネルの起動オプションは以下のファイルに記述されています。bashsudo nano /boot/firmware/cmdline.txtコードは注意してご使用ください。※ 環境によっては/boot/cmdline.txtにある場合もあります。 - パラメータを追記する:
ファイル内の既存の記述の最後(改行せず、半角スペースで区切って)に以下の文字列を追加します。textfbcon=rotate:1コードは注意してご使用ください。1: 90度回転(時計回り)3: 270度回転(反時計回り)
cmdline.txtは必ず「1行」で記述されている必要があります。複数行に分けないよう注意してください。 - 保存して再起動:
Ctrl+O→Enterで保存し、Ctrl+Xで終了した後、再起動します。bashsudo reboot
もし上記でうまくいかない場合
Raspberry Pi のビデオドライバ(KMS/FKMS)が有効な場合、cmdline.txt の設定が無視されることがあります。その場合は、起動時に自動でコマンドを実行する設定を行います。
- crontab を編集:bash
sudo crontab -eコードは注意してご使用ください。※初回起動時はエディタの選択が出るのでnanoを選んでください。 - 末尾に以下を追記:text
@reboot echo 1 > /sys/class/graphics/fbcon/rotate_all - 保存して終了すれば、起動のたびに自動で 90度回転が適用されます。
この設定を試した後、画面の向きは正しく反映されましたか?
OKです。
無事に回転したようで良かったです!
Raspberry Pi Zero 2 Wのようなリソースの限られた環境では、GRUBの代わりに Official Raspberry Pi Documentation にあるような cmdline.txt や config.txt を使うのが基本ルールになります。
今後、もし「画面の向きはいいけど、キーボードの入力方向(上下左右)も合わせたい」といったことがあれば、console-setup の設定変更が必要になるので、その際はお気軽にご相談ください。
他にディスプレイ表示や初期設定について、何かお手伝いできることはありますか?
