0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

linux で解像度を変更するコマンドをつくった

Last updated at Posted at 2025-02-06

動機

  • 普段外部ディスプレイを使っているが、たまにmacのディスプレイを使うので、その時に解像度を楽に切り替えたい
  • macのディスプレイに合った解像度がkali linuxの初期の解像度一覧になかった

これらの問題を解決するために、kali linuxのターミナル上からコマンドを打つことによって、すぐに解像度を切り替えられるようにした。仮想環境が不調になったとき、すぐ環境を破壊してまた構築することが多いので備忘録として残しておく。

環境

  • M2 macbook air
  • macにUTMをインストールし,そこでkali linux を動かしている

ディスプレイ情報の取得

まず、下のコマンドによってディスプレイ情報を取得する。

xrandr

コマンドを打って帰ってきたVirtual-1 connected primary 1920x180+0+0 (normal left inverted right x axis y axis) 325mm x 203mmみたいな部分のディスプレイ名っぽいやつ(今回の場合はVirtual-1)を控えておく。

参考:Linuxで画面解像度設定を追加する

モードラインの取得

以下のコマンドにより、モードラインの取得を行う。

gtf 2560 1600 60

今回は解像度2560x1620、リフレッシュレート60で設定している。コマンドの結果はこんな感じ。

# 2560x1600 @ 60.00 Hz (GTF) hsync: 99.36 kHz; pclk: 348.16 MHz
  Modeline "2560x1600_60.00"  348.16  2560 2752 3032 3504  1600 1601 1604 1656  -HSync +Vsync

この結果の"2560x1600_60.00" 348.16 2560 2752 3032 3504 1600 1601 1604 1656 -HSync +Vsyncの部分を控えておく。

参考:Linuxで画面解像度設定を追加する

シェルを調べる

シェルは

which $SHELL

によって調べられる。自分の環境ではzshなので、.zshrcファイルを編集する。

参考:Linuxにおける自作コマンドの作り方

調べた情報を元にコマンドを作る

シェルスクリプトをぶち込むディレクトリをつくる

Mac(Catalina)でのzshの自作コマンドの作り方という記事がとてもわかりやすかったので参考にした.シェルスクリプトの内容以外はぶっちゃけこの記事を見ればわかるが、一応手順を書く。

今回は参考記事に従ってmycommandsというディレクトリをホームディレクトリ直下に作って、そこにスクリプトファイルをぶち込むことにする。

パスを通す

今回シェルはzshなので.zshrc

export PATH=$HOME/mycommands:$PATH

という記述を追加する。.zshrcはホームディレクトリにある。ない場合は作成して上の記述を追加する。

.zshrcの内容を反映させる

sourceコマンドやターミナルの開き直しで反映するっぽいが、なんか確実そうなのでおれはいつも再起動してる(本当に確実なのか??)

シェルスクリプトファイルを書く

先ほど作ったmycommandsディレクトリの下にシェルスクリプトファイルをぶち込む。今回はchresoという名前のファイルを作った。この時拡張子は無しにする。chresoの内容は以下の通り。

#!/bin/zsh

xrandr --newmode "2560x1600_60.00"  348.16  2560 2752 3032 3504  1600 1601 1604 1656  -HSync +Vsync
xrandr --addmode Virtual-1 2560x1600_60.00
xrandr --output Virtual-1 --mode 2560x1600_60.00

xrandr --newmode "2560x1600_60.00" 348.16 2560 2752 3032 3504 1600 1601 1604 1656 -HSync +VsyncVirtualは先程控えておいたものに適宜置き換える。

参考:Linuxで画面解像度設定を追加する

シェルスクリプトファイルへの権限の設定

chmodを使って権限を設定する

sudo chmod 755 ~/mycommands/chreso

コマンドの呼び出し

あとはターミナルで

chreso

と打てば解像度が変わる!(はず)

最後に

読んでいただいてありがとうございました!!
はじめて書いたqiitaの記事なのでお手柔らかに…

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?