久々にPC構成を大刷新してから三ヶ月ほど経過しているが、ローカルLLMを叩いたときのパフォーマンスが前回と比べてどれほど上がるか計測してみた。
環境の現新比較
デバイス | 前回 | 今回 |
---|---|---|
CPU | Intel Core i7 13700 | Intel Core Ultra 7 265F |
GPU | GeForce RTX 4070 Ti | GeForce RTX 5070 Ti |
MEM | Crucial Ballistix BL2K16G32C16U4B(DDR4-3200 16GB) * 4 | Crucial CT2K16G56C46U5(DDR5-5600 16GB) * 4 |
M/B | ASUS TUF GAMING Z790-PLUS D4 | ASRock Z890 Pro RS |
ベンチマーク結果
前回はストップウォッチで計測していたが、今回はOpenWebUIのメタ情報から確認した。
gpt-oss:20b
指標 | 値 |
---|---|
response_token/s | 120.74 |
prompt_token/s | 255.92 |
total_duration | 22796593800 |
load_duration | 11155098300 |
prompt_eval_count | 73 |
prompt_tokens | 73 |
prompt_eval_duration | 285245200 |
eval_count | 1371 |
completion_tokens | 1371 |
eval_duration | 11355103800 |
approximate_total | 22s |
total_tokens | 1444 |
今回新規で追加。なんかこいつが標準っぽいので測ってみた。
gemma3:27b
指標 | 値 |
---|---|
response_token/s | 10.65 |
prompt_token/s | 39.72 |
total_duration | 85295369100 |
load_duration | 4291682600 |
prompt_eval_count | 13 |
prompt_tokens | 13 |
prompt_eval_duration | 327282600 |
eval_count | 859 |
completion_tokens | 859 |
eval_duration | 80674730800 |
approximate_total | 1m25s |
total_tokens | 872 |
前回は出力に3分半程度かかっていたが、今回は一分半程度と、良好な結果となった。
lucas2024/mistral-nemo-japanese-instruct-2408:q8_0
指標 | 値 |
---|---|
response_token/s | 51.88 |
prompt_token/s | 127.3 |
total_duration | 14512642900 |
load_duration | 2966192400 |
prompt_eval_count | 17 |
prompt_tokens | 17 |
prompt_eval_duration | 133547400 |
eval_count | 592 |
completion_tokens | 592 |
eval_duration | 11411474600 |
approximate_total | 14s |
total_tokens | 609 |
前回は出力に1分程度かかっていたが、今回は14秒程度と、非常に良好な結果となった。
qwen3:30b
指標 | 値 |
---|---|
response_token/s | 27.49 |
prompt_token/s | 57.74 |
total_duration | 134732866900 |
load_duration | 64763725000 |
prompt_eval_count | 14 |
prompt_tokens | 14 |
prompt_eval_duration | 242451700 |
eval_count | 1917 |
completion_tokens | 1917 |
eval_duration | 69724445400 |
approximate_total | 2m14s |
今回新規で追加。悪くない品質で、そこそこ早いのでこれは良さそうだ。
qwen3:32b
指標 | 値 |
---|---|
response_token/s | 5.66 |
prompt_token/s | 18.49 |
total_duration | 332234237600 |
load_duration | 9168679700 |
prompt_eval_count | 14 |
prompt_tokens | 14 |
prompt_eval_duration | 757307500 |
eval_count | 1823 |
completion_tokens | 1823 |
eval_duration | 322305287600 |
approximate_total | 5m32s |
total_tokens | 1837 |
今回新規で追加。流石に秒間5.66トークンは厳しい。
雑感
前回と比べるとかなり高速化されており、生成速度だけを見れば十分実用ラインに上がっていているように感じた。しかし回答の品質がそこまでよくなく、そのままでは使えないと感じた。恐らくRAGなどとして使えるようにカスタムしてやっと使えてくるみたいなところがあるのだろうか?
実用性で見ると、日本語文書作成ではgemma3:27bが一番よさそうに思えた。これはqwen3シリーズは単純な質問では結構いい感じなのだが、複雑な条件を付けると期待通りの結果を出してくれなかったからだ。lucas2024/mistral-nemo-japanese-instruct-2408:q8_0も、一見よさそうに見えるがよろしくない発言はできないように細工されているようで、微妙に感じた。
何はともあれ、現実的な速度でローカルLLMが動くようになったのはうれしい。
確認環境
NICはともに一つのみ。
- Windows 11 Pro 24H2
- Ubuntu 24.04.3 LTS
Windows
NICのIPv6アドレス(GUA)を取得する
コントロールパネルから取得
- コントロールパネル→ネットワークと共有センターを開く
- イーサネット→詳細を開く
- IPv6アドレスと書かれているのがGUA
コマンドプロンプトで取得
ipconfig
を叩き、「IPv6 アドレス」と書かれているものがGUA
Powershellで取得
(ipconfig | Select-String -Pattern "IPv6 アドレス(?: .)+: (.+)").Matches.Groups[1].Value
Ubuntu
# perl版
ip -6 addr | grep 'global dynamic' | perl -ale '$F[1] =~ /^([^\/]+)/; print $1;'
# awk版
ip -6 addr | grep 'global dynamic' | awk '{ split($2, a, "/"); print a[1] }'
Windows標準のOpenSSHを利用してSSHDを立てる方法。
SSHサーバーをインストールする
20分くらいかかるので、気長に待つ。
# 有効なバージョンの確認
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# インストール
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
SSHDサービスを構成する
# SSHDサービスの開始
Start-Service sshd
# 自動起動に設定
Set-Service -Name sshd -StartupType 'Automatic'
# 構成状況の確認
Get-Service -Name sshd
(Get-Service -Name "sshd").StartType
SSHDを鍵認証できるように設定する
%programdata%\ssh\sshd_config
に設定ファイルがあるので、これを触る。
Ubuntuと同じOpenSSHであるため、設定方法は基本的に過去に書いたSSHDの設定方法と同じだが、管理者であればAuthorizedKeysFile
のコメントを外す必要はない。
管理者である場合、authorized_keys
はadministrators_authorized_keys
というファイル名にして%programdata%\ssh
に置く。
書き換えたらRestart-Service sshd
で再起動する。
上手く繋がらない場合は、Stop-Service sshd
でサービスを止めたうえでsshd.exe -ddd -e
で直に起動するとデバッグログが見れるので参考にする。
ファイアーウォールへの穴開け
- コントロールパネル→Windows Defender ファイアウォール→詳細設定を開く
- 受信の規則にOpenSSHが登録されているが、ポート番号が変更不能なため削除する
次のコマンドを流し、規則を作りなおす
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort <ポート番号>
Noctuaのヒートシンクに素手で触れるとめちゃくちゃ指紋が付いてきたなく見えるので、それを除去していく。
こういう指紋汚れを取る。
指紋が付いたばかりのケース
無水エタノールを含ませたティッシュなどで拭うと簡単に取れる。
これは指紋が付いた直後に拭いたときのもの。
指紋が付いて数年経過したケース
無水エタノールで拭いてもほとんど取れない場合は、食器洗い用中性洗剤をティッシュなどにつけ、原液のままま強めにこすると取れやすい。
そのままだと洗剤が残ってしまうため、最後は水拭きして洗剤を取り去る。
これは5年ほど積もり積もった指紋の山だが、大分綺麗になったと思う。写真では判らないがよく見ると完全には取り切れていない。
Windowsノートに課題を長らく感じており、Ubuntuにしたら改善するのではないかという閃きでやってみたログ。
解決したかった課題
- 120GB/256GBとストレージを食いすぎている
- メモリが16GBしかなく、WSLをまともに使えない
- 発熱が酷い
- 電源を落として放置してると一週間でバッテリーが空になる
- 高速スタートアップとか、電気を食いそうなのは軒並みOFFにしているつもりなのだが…
目指す環境
- Windows 11っぽいデスクトップ環境
- VSCodeを使った簡単なWeb開発や、Markdownライティングが可能
- SSHで任意のサーバーに接続できる
- PHPとNode.jsが動く
- Xfce4を使った軽量なデスクトップ
- スクショが撮れる
- リサイズやモザイク、トリミングなどの簡単な画像編集が出来る
対象端末
NEC Lavie PC-GN20D72DYEDYH2YAA
環境構築
Ubuntuの入手とインストール
- Ubuntu公式からAMD64向けのイメージをダウンロード
- RufusでUSBメモリに焼く
- ノートPCにUSBメモリを挿す
- ノートPCを起動しF2を連打
- BIOSからUbuntuの入ったUSBを起動
- 普通にインストールする
ブラウザとVSCodeの導入
Edgeのdebを落としてきてインストール
sudo apt install ./microsoft-edge-stable_139.0.3405.125-1_amd64.deb
アプリセンターからFirefoxを消す
VSCodeのdebを落としてきてインストール
sudo apt install ./code_1.103.2-1755709794_amd64.deb
VSCodeの設定
拡張機能のインストール
普段使ってるマシンで拡張機能のインストールコマンドを生成
code --list-extensions | grep -E -v 'powershell|wsl' | perl -ne 'print "code --install-extension $_"'
結果をノートPC側に流す
code --install-extension 13xforever.language-x86-64-assembly
code --install-extension 42crunch.vscode-openapi
code --install-extension bmewburn.vscode-intelephense-client
code --install-extension dbaeumer.vscode-eslint
code --install-extension docker.docker
code --install-extension eamodio.gitlens
code --install-extension esbenp.prettier-vscode
code --install-extension golang.go
code --install-extension gruntfuggly.todo-tree
code --install-extension jebbs.plantuml
code --install-extension jock.svg
code --install-extension lokalise.i18n-ally
code --install-extension ms-azuretools.vscode-containers
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-ceintl.vscode-language-pack-ja
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vscode-remote.remote-ssh-edit
code --install-extension ms-vscode.remote-explorer
code --install-extension mushan.vscode-paste-image
code --install-extension redhat.vscode-commons
code --install-extension redhat.vscode-yaml
code --install-extension robberphex.php-debug
code --install-extension shd101wyy.markdown-preview-enhanced
code --install-extension swordev.phpstan
code --install-extension vscode-icons-team.vscode-icons
code --install-extension yzhang.markdown-all-in-one
settings.json
{
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "zsh"
}
},
"terminal.integrated.allowChords": false,
"terminal.integrated.commandsToSkipShell": [
"-workbench.action.quickOpenView",
"-workbench.action.terminal.focusFind"
],
"workbench.startupEditor": "newUntitledFile",
"workbench.iconTheme": "vscode-icons",
"workbench.editor.decorations.badges": false,
"workbench.editor.decorations.colors": false,
"workbench.tree.enableStickyScroll": false,
"workbench.layoutControl.enabled": false,
"workbench.editor.empty.hint": "hidden",
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"scm.showIncomingChanges": "never",
"scm.showOutgoingChanges": "never",
"git.autorefresh": true,
"git.autoStash": true,
"git.suggestSmartCommit": false,
"git.mergeEditor": false,
"git.openRepositoryInParentFolders": "never",
"remote.autoForwardPortsSource": "hybrid",
"diffEditor.ignoreTrimWhitespace": true,
"diffEditor.renderGutterMenu": false,
"explorer.confirmDragAndDrop": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.stickyScroll.enabled": false,
"[markdown]": {
"editor.tabSize": 4,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"php.validate.run": "onSave",
"vsicons.dontShowNewVersionMessage": true,
"pasteImage.path": "${currentFileDir}/${currentFileNameWithoutExt}.assets",
"todo-tree.filtering.excludeGlobs": ["**/node_modules/**/*"],
"todo-tree.highlights.customHighlight": {
"TODO": {
"foreground": "#f8ff96",
"type": "text-and-comment"
},
"FIXME": {
"foreground": "#ff9696",
"type": "text-and-comment"
}
},
"todo-tree.general.tags": ["TODO", "FIXME"],
"todo-tree.regex.regex": "(//|#|<!--|/\\*|^\\s*\\*)\\s*($TAGS)",
"gitlens.currentLine.format": "${author, }${date}${' via 'pullRequest}${ • message|50?}",
"gitlens.statusBar.format": "${author}, ${date}${' via 'pullRequest}",
"gitlens.statusBar.tooltipFormat": "${avatar} __${author}__, ${date}${' via 'pullRequest}\n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
"gitlens.hovers.detailsMarkdownFormat": "${avatar} __${author}__, ${date}${' via 'pullRequest}\n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
"gitlens.views.formats.stashes.description": "${date}",
"gitlens.views.formats.commits.description": "${author, }${date}",
"gitlens.defaultDateFormat": "YYYY-MM-DD",
"terminal.integrated.shellIntegration.decorationsEnabled": "never",
"security.workspace.trust.untrustedFiles": "open",
"explorer.copyRelativePathSeparator": "/",
"typescript.tsserver.log": "off",
"gitlens.ai.experimental.generateCommitMessage.enabled": false,
"redhat.telemetry.enabled": true,
"chat.commandCenter.enabled": false,
"gitlens.views.scm.grouped.views": {
"commits": true,
"branches": true,
"remotes": true,
"stashes": false,
"tags": true,
"worktrees": true,
"contributors": true,
"repositories": false,
"searchAndCompare": false,
"launchpad": false
},
"workbench.secondarySideBar.defaultVisibility": "hidden",
"docker.extension.enableComposeLanguageServer": false,
"workbench.localHistory.maxFileEntries": 500,
"editor.acceptSuggestionOnCommitCharacter": false,
"workbench.settings.showAISearchToggle": false,
"gitlens.ai.enabled": false,
"chat.agent.enabled": false,
"remote.SSH.experimental.chat": false,
"scm.showInputActionButton": false,
"typescript.updateImportsOnFileMove.enabled": "always",
}
keybindings.json
// Place your key bindings in this file to override the defaults
[
{
"key": "ctrl+[BracketLeft]",
"command": "workbench.action.terminal.toggleTerminal",
"when": "terminal.active"
},
{
"key": "ctrl+shift+r",
"command": "typescript.restartTsServer"
},
{
"key": "ctrl+shift+e",
"command": "eslint.restart"
},
{
"key": "alt+down",
"command": "workbench.action.compareEditor.nextChange",
"when": "textCompareEditorVisible"
},
{
"key": "alt+up",
"command": "workbench.action.compareEditor.previousChange",
"when": "textCompareEditorVisible"
},
{
"key": "ctrl+k enter",
"command": "-workbench.action.keepEditor"
},
{
"key": "ctrl+q",
"command": "workbench.action.keepEditor"
}
]
Xubuntu化
sudo apt install xubuntu-desktop
sudo apt purge gnome-desktop
sudo apt search gnome
sudo apt purge ubuntu-gnome-desktop gnome-shell
sudo apt autoremove
基本環境のセットアップ
土台となる環境をインストールする
# 基礎環境の導入 sudo apt update -y sudo apt upgrade -y sudo apt install -y \ zsh \ ssh \ net-tools \ traceroute \ unzip \ mariadb-server \ nginx \ git # chsh sudo apt -y install unzip traceroute chsh -s $(which zsh) # dotfiles wget https://github.com/Lycolia/my-dotfiles/archive/refs/heads/main.zip unzip main.zip cp -R my-dotfiles-main/. . rm -Rf my-dotfiles-main main.zip
chshを効かせるためにOSを再起動
Dockerをインストール
# Docker for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done # Add Docker's official GPG key: sudo apt -y update sudo apt -y install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # sudo緩和 sudo usermod -aG docker $USER
- Node.jsをインストール
# Node.js @ nvm export NVM_DIR="$HOME/.nvm" && ( git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR" cd "$NVM_DIR" git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)` ) && \. "$NVM_DIR/nvm.sh" nvm install --lts
- dotfilesのセクションで拾ってきた.zshrcを開き、nvmが動くようにコメントを外す
SSH環境の作成
- 鍵置き場を作り、鍵を配置する
mkdir ~/.ssh chmod 700 ~/.ssh touch config chmod 600 <鍵ファイル>
- 接続情報を書く
Host hoge User foo Hostname git1.example.com IdentityFile ~/.ssh/config/id_ed25519_foo Port 22222 Host piyo User bar Hostname git2.example.com IdentityFile ~/.ssh/config/id_ed25519_bar Port 20202
LibreOfficeのバージョンを上げる
LibreOfficeのバージョンを最新まで上げるとOnedriveに繋げるようになるらしいので上げてみたが、「LibreOffice OneDrive the specified device invalid」のようなエラーメッセージが出て実際には使えなかった。Google Driveでも同様の問題があるらしい。
バージョンの上げ方
公式サイトからdebをダウンロードしてきて展開し、debが詰まったディレクトリでsudo dpkg -i *.deb
するとインストールできる。
そのままではXubuntuのLibreOfficeと競合するため以下のコマンドで古い方を消す。
sudo apt remove libreoffice-common
sudo apt autoremove
PHP8.4のインストール
取り敢えず使いそうなもの入れる
php sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install -y php8.4 \ php8.4-bz2 \ php8.4-cgi \ php8.4-cli \ php8.4-common \ php8.4-curl \ php8.4-dev \ php8.4-ds \ php8.4-fpm \ php8.4-gd \ php8.4-http \ php8.4-imagick \ php8.4-intl \ php8.4-ldap \ php8.4-mbstring \ php8.4-mcrypt \ php8.4-mysql \ php8.4-oauth \ php8.4-odbc \ php8.4-pgsql \ php8.4-smbclient \ php8.4-snmp \ php8.4-soap \ php8.4-sqlite3 \ php8.4-uuid \ php8.4-vips \ php8.4-xdebug \ php8.4-xml \ php8.4-xmlrpc \ php8.4-yaml \ php8.4-zip \ php8.4-zstd sudo sed -i -e 's/;listen.mode = 0660/listen.mode = 0666/' /etc/php/8.4/fpm/pool.d/www.conf sudo service php8.0-fpm start
nginxでfpmが動くか動作確認するために
/etc/nginx/conf.d/test.conf
を作成し、以下を記述server { listen 80; listen [::1]:80; location ~ ^/.*$ { root /usr/share/nginx/html; fastcgi_pass unix:/run/php/php8.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
sudo service nginx restart
/usr/share/nginx/html/
に適当なPHPスクリプトを置いて動いてるのが確認出来たらOK
デスクトップを使いやすくする
Windows 11っぽくする。
日本語入力できるようにする
タスクバーの右上にある「JA」をクリックしてMozcに変える
タスクバーを下に下げる
- タスクバーを右クリックし、パネル→パネルの設定を開く
- パネルをロックするを解除する
- タスクバーを画面下までドラッグする
- パネルをロックするをチェックする
スタートメニューや起動中のウィンドウを真ん中に寄せてラベルを消す
ウィンドウボタン
- パネルの設定を開き、アイテムタブに移る
- ウィンドウボタンをダブルクリック
- ボタンラベルを表示するのチェックを外す
- フラットボタンで表示するのチェックを入れる
- 取っ手を表示するのチェックを外す
- 並び変え順をタイムスタンプにする
- 基本的に画像の通りになってればOK
Whisker Menu
基本的に設定しなくてよいが、ラベルが出ている場合は表示をアイコンにすればよいと思う。
中央寄せにする
- セパレーターを追加し、セパレーター・Whisker Menu・ウィンドウボタンの順にする
- セパレーターをダブルクリックし、拡張するにチェックを入れる
- すると中央寄せになる
アイコンを大きめにする
- パネルの設定から表示タブを開く
- 行サイズを40にする
- 外観タブを開く
- 固定されたアイコンサイズを32にする
ワークスペースを一個にする
ウィンドウボタンの中央寄せを意識した場合に邪魔なのと、ウィンドウドラッグで他のデスクトップに勝手に飛んでいき、飛んでいくと戻すのが面倒なので、無効化する。
- パネルにあるワークスペーススイッチャの設定を開き一個にする
- ワークスペーススイッチャを消す(四つの窓と、画面右端にもう一個ある)
WindowsキーでWhisker Menuが、他のキーコンビネーションと干渉せずに開くようにする
愚直にやるとSuper+Eなどのキーとの同時押しと干渉するのでWindowsキー単体押下時のキーコードをいじるユーティリティ、KSUPERKEYを入れて解決する。
- 依存関係のインストールとビルド及びインストールコマンドを流す
sudo apt install -y git gcc make libx11-dev libxtst-dev pkg-config git clone https://github.com/hanschen/ksuperkey.git cd ksuperkey make sudo make install
- 設定マネージャー→セッションと起動を開く
ksuperkey
を追加する
- OSを再起動する。OS再起動後、Windowsキー単体の割り当てがSuperからAlt+F1に変更される
- 設定マネージャー→キーボードを開く
- xfce4-popup-whiskermenuの割り当てをAlt+F1に変更する
- Alt+F1にあるxfce4-popup-applicationsmenuと、Alt+Pauseにあるxfce4-popup-whiskermenuはゴミなので消す
- Windowsキーを押したときにWhisker Menuが開き、Windows + Eではファイラが開き、お互いが干渉しないことを確認できればOK
スクショを取りやすくする
PrintScreen
で画面全体、Windows + Shift + S
で矩形スクショ、Alt + Insert
でウィンドウスクショが撮れるようにする。
- 設定マネージャー→キーボードを開く
- xfce4-screenshooter系のコマンドの最後に
-c
を追加し、ダイアログなしでクリップボードに飛ばすようにする - Windowsと同様のキーバインドを設定する
ファイル保存は-s 'ピクチャ/Screenshots/'
のようなオプションを生やすと可能になるが毎回ダイアログが出るので指定しない方がいい。
また今回の方式ではコンテキストメニューやドロップダウンメニューが開いている場合は機能しなくなるが、回避方法は不明。
Flameshotという便利そうなツールもあるが、あいにくXfceのキーバインド機能に依存させるしかなく、xfce4-screenshooter以上のことはできない。
クリップボードマネージャーを有効にする
セッションと起動の自動開始アプリケーションに移り、Clipmanにチェックを入れる。
フォルダ右クリックでVSCodeを開けるようにする
- フォルダを右クリックしアプリケーションで開く→他のアプリケーションで開く
- Visual Studio Codeを選択
- 以後、VSCodeが選択肢に出てくるようになる
WindowsとUbuntuのパフォーマンス比較
セットアップ後のUbuntuのCPU・メモリ・ストレージの各使用率を比較してみた。
双方VSCode, Edge, Discordを起動している状態で比較している。WindowsはCPUとメモリをタスクマネージャー、ストレージをエクスプローラ。UbuntuはCPUをタスクマネージャー、メモリをfree -h
、ストレージをdf
で見ている。
占有対象 | Windows | Ubuntu |
---|---|---|
CPU | 30% | 2% |
MEM | 6.6GB/15.4GB (43%) | 3.6GiB/14GiB (26%) |
ストレージ | 113GB/236GB (48%) | 17GB/213GB (8%) |
圧倒的な軽さ。Windowsだと基本熱を持っていたマシンが随分穏やかな温度になり、夏場でも負荷をそこまで気にせず使えそうだった。
また、まだ今日セットアップしたばかりなので見れていないが、シャットダウン時の電力消費が著しく低い気配がしているので、一週間放置してたらバッテリー切れてたというのもなさそうな予感がしている。
ここはWindowsとの比較が出来ていないが、OSの起動が20秒、終了は4秒と、終了が異様に早い気がした。
単純比較はできないものの、遥かにスペックの高いメインマシンでは起動に2分、終了に20秒を要した事を考えると、かなり早い。
解決した課題
- 120GB/256GBとストレージを食いすぎている問題
- 使用量が17GBになり、何ら問題なくなった
- メモリが16GBしかなく、WSLをまともに使えない問題
- そもそもLinuxなのでVMが不要なため必然的に解決
- メモリ使用量もWindowsでは6.6GB/15.4GBだったところ、3.6GB/16.1GBに若干改善した
- 発熱が酷い問題
- アイドル時のCPU使用率が30%から2%に落ち、ほとんど熱を持たなくなった
- 電源を落として放置してると一週間でバッテリーが空になる問題
- 現時点で6hしか放置できていないため不明だが、ほぼ減ってないように見えるので大丈夫かもしれない
目指す環境との乖離
- Windows 11っぽいデスクトップ環境
- 大まかにはそれっぽくなった
- VSCodeを使った簡単なWeb開発や、Markdownライティングが可能
- 出来る状態になっている
- SSHで任意のサーバーに接続できる
- 確実に可能
- PHPとNode.jsが動く
- 確実に可能
- Xfce4を使った軽量なデスクトップ
- 達成済み
- スクショが撮れる
- 手間がかかる部分もあるが、概ね問題ない。プルダウンメニューやコンテキストメニューもタイマーを書ければスクショできるし、そもそもそこをスクショする機会もそうないだろう
- リサイズやモザイク、トリミングなどの簡単な画像編集が出来る
- デフォルトでGIMPが入っているのでOK(JTrimにはどうしても劣るが、偶に使う程度であれば支障なし)
完成したデスクトップ環境
タスクバーが中央寄せの大きなアイコン表示で、起動順、アプリケーションごとにグループ化されてて、そこそこWindows11ぽさを出せてると思う。
サブでたまに使う程度なら全然許容という感じ。
懸念していたが大丈夫だった部分
- マウス接続時のタッチパッド無効化
- これ自体は難しそうだったが、キーボード入力中にタッチパッドが無効化されており、あまり気にならなかった。Ctrl押しながらタッチパッドはいけたので実用性で問題になることはないだろう
- Surface Ark Mouseの三本指クリック
- ちゃんと中クリックとして認識された