[TOP]ProgramPCBOFG245MusicFontFamicomPokeMemoUpdate
Windows10からDebianへの乗り換えメモ

2024/08地点。Debian12+Xfce環境が対象。

乗り換えのきっかけ
----------------------------------------
なにあの「Windows11」とかいうアドウェア・マルウェア・ランサムウェアOSは・・・!?
重い・使いにくい・自社ソフトを押し付けてくる、と、 とても作業用OSとしては使えない出来になってしまいました。
・ローカルアカウントは通常、作成不可
 →ローカルアカウント作成は「Shift+F10→oobe\BypassNRO.cmd」の裏技的呪文が必要。
・そもそも重い
 ・HDDで動作させるととにかく重い
 ・SATA SSDですらちょっと重い
・WindowsUpdateはほぼ強制(Proなら制御可能)
 →勝手に再起動がかかったり、最悪の場合にはシステム起動不能になる
・おすすめアプリが勝手にインストールされる
・ブラウザのEdgeの押し売りは特にひどい。
 ・デフォルトブラウザを外部ソフトから変えられない
 ・ほかブラウザをBing検索すると引き止めにかかる
  ・しかもブラウザ公式サイトと見せかけた偽サイトが一番上に来る
・Microsoft製品の広告的な通知が来たりする
・ソリティアまで広告入り
・OneDriveの押し売りで勝手にファイルがクラウド共有対象
 →クラウド容量限界で課金要求
 →整理するとローカルからもファイルが消える罠
 =もはやランサムウェア
・BitLockerでOSドライブは常に暗号化状態
 →OSやサードのセキュリティソフトの不具合で起動不能に
 →BitLockerの回復キーがないと復号不可
 (OS起動しないと分からないため、OS起動できない状態になるとほぼ積み)
・広告だらけな上に使いにくいのに、なんとこのOSそのものが有料

要するにこの先Windowsを使い続けることは、それ即ち「Microsoftのカモになり続ける」ことを意味し、
こんなOSは早急に使用を止めなければなりません。

また、最近のソフトウェアは、Windows以外のOSもサポートしている場合が増えてきています。
さらに、Linux特有の利点もいろいろあります。
というわけで、Windowsを「レガシOS」として決別し、これからはLinuxを使っていくことにしました。




Windows→Linuxによる利点
----------------------------------------
・そのへんのサーバー・組み込みデバイス・ラズパイ等は、大体がUNIX・Linuxベースなので、調和が取りやすい。
・シェルが賢い。
・/dev配下でストレージなどのデバイスを直接いじれて、ddコマンド等でバックアップやイメージ書き込みがしやすい。
・ディストリビューションやデスクトップ環境など、選択肢やカスタマイズ方法が豊富。
・軽いディストリビューションなら、10年以上前の古いマシンでもけっこう動く。
・仮想環境に強く、ハイエンドなマシンをフルに活かしやすい。
・開発ツールが豊富。
・デバイスドライバに署名がいらない。そもそも自作しても良い。
無償で利用可能。


Windows→Linuxによる難点
----------------------------------------
・デバイスドライバは有志の物頼りで、公式対応しているものが非常に少ない。
 また、特にメーカー特有機能はなかなか対応されにくい。
 ・Let'sNoteのホイールパッドが良い例。くるくる回してスクロールするのはまず無理。
 ・Surfaceなど、世界中で販売されて数のあるものは、時間がかかっても対応されやすい。
・CUIでの操作に慣れる必要があり、初心者には若干敷居が高い。
・Windowsとはファイルパスの考え方が全く違うため、慣れに時間がかかる。
・自分でシェルスクリプトを組めるレベルにならないと、使いこなせない。
・トラブルがあってもサポートは基本効かない。根気とググる力が特に求められる。
・一般民での認知度が低く、社用PCのOSとして使用を許可されない場合もある。




自分流のLinux選択
----------------------------------------
・ディストリビューション:Debian
 軽量、標準的、RaspberryPiOS(旧Raspbian)のベースがこれなので、ラズパイとの調和が取れる。
 そして、Linuxの中でも一番普及しているUbuntuのベースであり、Ubuntu用≒Debian使用可な場合が多い。
 (Steamランチャーとか、AMDのグラフィックドライバとか)

・デスクトップ環境(メイン機):Xfce
 軽量・多機能・使いやすい。こういうのでいい。

・デスクトップ環境(サブ機):LXDE
 もっと軽量・機能少なめ・それなりに使える。実用には耐える。


他の選択肢を選ばなかった理由は、
[ディストリビューション]
・Ubuntu:重い。日本メーカーPCのように最初から色々余計なもの入れすぎ。HDDに入れるとWin10より激遅。
・RedHat系:硬い。これはサーバー向けで、Win9xの時代で言うWinNTみたいな位置づけのもの。

[デスクトップ環境]
・GNOME(現行の3系):論外。Windows8とOSXを足して3で割ったような出来損ない。
  マウス操作とタッチ操作のUIは両立できないことを理解できない者たちが作った愚かなUI。
・LXQt:とびっきり軽いわけでもないし、これ使うぐらいならXfceを使いたい。



スクリプト等の自動起動
----------------------------------------
・定期実行:crontab -e
 cronによる定期実行スクリプトの定義ができる。
 @reboot [コマンド]と書けば、起動直後に動くスクリプトを定義できる。

・ログイン時実行:設定→セッションと起動→自動起動アプリケーション
 GUIで、ログイン時などの自動起動するアプリケーションを定義できる。

・キーボードショートカットで実行:設定→キーボード→キーボードショートカット
 GUIで、特定のキーを押したときにコマンド実行できる。
 Windowsには標準で無い機能で、結構便利。



Debian+Xfce用の便利なツール群
----------------------------------------
□メニューエディタ
 sudo apt install menulibre
 アプリケーションメニューの編集ができる。なんでこれがデフォルトで入ってないのか…。

□パーティション編集
 GUIなものがデフォルトで入ってないので、「GParted」とか突っ込んどけばいい。
 sudo apt install gparted

□Bluetooth
 現状のXfceにはBluetoothを扱うツール群がないため、追加で入れる必要がある。
 sudo apt install bluetooth blueman
 bluemanはLXDE用のマネージャだが、Xfceでも利用可能。

□HDDスリープ  一定時間アクセスがなかったら、HDDの回転を止めて、省電力&耐衝撃にする機能。Windowsだと標準の機能。
 Linuxでは「hd-idle」が有効。
 /etc/default/hd-idleに「HD_IDLE_OPTS="-i 0 -a sda -i 120"」などと書けばいい。
 (-aデバイスが、-i秒アクセスなかったら止める)  そして「sudo systemctl enable hd-idle」で自動起動有効化。

□Wine上のアプリ + グローバルホットキー
 Wineで動かすWindowsアプリから、グローバルホットキーを割り当てることができない。
 しかし、「xdotool」を使って、コマンドラインからキーイベントを送れるので、
 デスクトップ環境のホットキー設定と合わせて、Wineアプリにグローバルホットキーを割り当てられる。
 たとえば、自分はWinampで「Ctrl+上下左右」で曲再生制御を行うのだが、これをLinuxでも行うためには
 「sudo apt install xdotool」でxdotoolを入れ、
 「sh -c "xdotool key --window $( xdotool search --limit 1 --all --pid $(pgrep winamp) --name Winamp ) 'ctrl+Down'"」って感じでホットキー割当。
 ・pgrep winamp:winampのプロセスIDを調べる
 ・xdotool search --limit 1 --all --pid $(pgrep winamp) --name Winamp:Winampプロセスのウィンドウ名WinampのIDを調べる
 ・xdotool key --window ウィンドウID キー文字列:特定ウィンドウにキーイベントを送る

□画面のブルーライト対策
 画面が青すぎて眩しい場合などに、色味を調整する方法
 ・「redshift」を使う。「redshift -m randr -O 5000 -b 0.7 -g 1.0:1.0:0.6」など。解除は「redshift -x」
 ・「カラープロファイル」をいじる。色温度の低いプロファイルを選択する。

□画面録画
 「simplescreenrecorder」で十分。シンプルと言いながら、ホットキー対応など、機能は十分にある。
 Twitter(現X)に投稿するなら、mp4拡張子でH.264&AACのコーデックでキャプチャすれば直接投稿可能。

□ソフトウェアMIDI音源
 「Timidity」を使う。MIDIプレイヤーだが、Wine等でも使えるソフトMIDI音源としても使える。
 sudo apt install timidity timidity-interfaces-extra freepats fluid-soundfont-gm fluid-soundfont-gs
 MIDI音源としての実行は「timidity -iA -Os」



Snapパッケージの扱いについて
----------------------------------------
パッケージ管理システムなのだが、できれば使いたくない。
理由は「1日4回のペースで右上にアップデートの通知を出し、勝手に消えず、無効化もできない」ため。
また「自動アップデートは強制」のため、通常の操作で自動アップデートを切る手段がない。
まるでWindows10以降のHomeエディションである。

というわけで、必要なソフトウェアがSnap上でしか提供されていない場合、以下のように運用することにした。
1:sudo systemctl unmask snapd && sudo systemctl enable snapd && sudo systemctl start snapd
  黙らせたsnapdの有効化。初回はやらなくていい。
2:snapを使ってソフトウェアをインストールまたはアップデートする
3:sudo systemctl stop snapd && sudo systemctl disable snapd && sudo systemctl mask snapd
  自動アップデートを行うsnapdを強制的に黙らせる
  
ソフトウェアは通常snapdが動いてないと実行できないのだが、
「/snap/アプリ名/current/」配下のどこかに生の実行ファイルがあるので、
そこから直で実行すればOK。/snap/bin直下のは駄目。
 (例えばSkypeの場合、/snap/skype/current/usr/share/skypeforlinux/skypeforlinux)
…ただこのやり方は、Snapのサンドボックスを一切介さない動作になるため、
動作に問題が出たり、あらぬところにファイルを作ったりなど、危険ではある。



Windowsアプリケーション
----------------------------------------
Linux上でWindowsアプリを動かすなら「Wine」を通せばいいのだが、これはあくまで代替アプリがないときの最終手段。
ちなみに、自分はWine経由で動かすWindowsアプリを「/usr/local/progra1」に置くことにした。
(Program FilesがMS-DOS上でProgra~1になるのが由来)



Webブラウザ
----------------------------------------
自分は「Firefox」メインで使っており、これはXfceやLXDEの標準ブラウザなので、そのまま使えばいい。
プロファイルも別OSだろうとそのまま丸コピーで引き継げる。



メーラー
----------------------------------------
自分は「Thunderbird」メインで使っており、これもXfceやLXDEの標準メーラーなので、そのまま使えばいい。
プロファイルも別OSだろうとそのまま丸コピーで引き継げる。



テキストエディタ
----------------------------------------
自分は「TeraPad」メインで使っていたが、代替はこれはXfceやLXDE標準の「Mousepad」で全然いい。
Windows標準のメモ帳より全然高機能だし、タブによる複数編集もできる。
ちなみに、俺はLinux-CUIのテキストエディタはVim派です。



バイナリエディタ
----------------------------------------
これが問題。
Windowsなら「Stirling」が鉄板だが、90年代のソフトなのに令和の時代でも鉄板と呼ばれるだけあって、
これと同じ操作性のバイナリエディタはなかなか無い。
複数ファイルを開いてのバイナリコピペや、ウィンドウを並べての2画面編集なら「GHex」で代用が効く。
しかし、GHexには「2ファイルの相違点検索・マーク機能」が無い。結構使う機能なのに。。。
この機能を使いたきゃ、WineでStirlingを使うか、自作するしかなさそう。



Java
----------------------------------------
Debianはライセンスの問題上、OracleなJavaはパッケージリストにデフォルト設定では無い。
使うのは「OpenJDK」「OpenJRE」の方。
パッケージマネージャからインストール後はパスも通っているので、
「java -jar [.jarファイル]」で実行できる。
自分は「/usr/local/jar」というディレクトリを新設して、そこに.jarなツール群を置くことにした。



フォント作成
----------------------------------------
以前はビットマップフォントをちょくちょく作っていたが、 Linuxでもベクター式なら「FontForge」、ビットマップ式なら「BitNPicas」で 作ったり編集したりできる。
BitNPicasはJavaアプリなので、上記のOpenJREとともに動かす。



動画再生
----------------------------------------
自分がよく使ってた「SMPlayer」は、Linux版もある。(しかもLXDEのデフォルトプレイヤー)
それで不十分なら「VLC」もある。



動画編集
----------------------------------------
Windows用ならAviUtilとかをよく使っていたが、絵や動画などを切り貼りして動画にする分には 「OpenShot」でもできる。



基板制作
----------------------------------------
「KiCad」は、Linuxでも使える。以上。

ただ、stableな設定のパッケージマネージャからインストールできるのはバージョン6と古いので、
「/etc/apt/sources.list.d/bookworm-backports.list」をテキストエディタで作り、
「deb http://deb.debian.org/debian bookworm-backports main contrib non-free」と書いて保存し、
「apt update」すれば、新しいバージョンが有効になる。
(bookwormの部分はDebianのバージョンに合わせて変えること、あと全部root権限で)



音楽再生(普通のファイル)
----------------------------------------
mp3とかその辺り。各デスクトップ環境のデフォルトアプリを適当に使っていればいい。
自分は結局Wine+Winampを使っちゃってるが。



音楽再生(レトロゲーム系)
----------------------------------------
nsfだのgbsだのspcだのvgmとかその辺り。WindowsならWinampとそのプラグインで再生できた部分。
結局WinampをWineで動かすのが一番楽かつプラグイン周りも豊富。
Wineの制約でグローバルホットキーが使えないが、これはどうにかできる。(便利なツール群参照)



音楽制作(MIDI系)
----------------------------------------
<模索中>
SingerSongWriterにLinux版なんてあるはずがなく、これは模索しなければならない部分。
選択肢はそれなりにありそう。



音楽制作(MOD系)
----------------------------------------
Windowsから引き続き「OpenMPT」を使う。Wine経由で。
公式が「Linuxの場合はWine経由で動かせ」というスタンスを取っているだけあって、 一応それでちゃんと動く。



ゲーム(Steam系)
----------------------------------------
ランチャーは公式のUbuntu用debパッケージをダウンロードし、
「sudo apt install ./steam_latest.deb」とやればいい。
Windows用しかないゲームも、proton(これ、ゲーム特化Wineなんだけど)経由で動作する。
ただし、アンチチートツールが動作を阻害する可能性がある。
で、自分は今2つのゲームしかやらないのだが、どちらも現在は動作する様子。
・パルワールド
 正常に動作。パフォーマンスはWindowsのときより少し重たくなる。
 まれに固まるかもしれないけど、オートセーブなので被害は少ない。
 多少不安定かもしれないが、任天堂&ポケモンに訴えられてる制作会社の現状よりは不安定ではない。
・VRChat
 デスクトップモードは動作確認。VRゴーグルと連携しての動作はあきらめよう。
 しかも、アンチチートツール入りなので、バージョンによっては動作しない可能性もある。



ゲーム(Minecraft)
----------------------------------------
Windows10,11版は流石に無理だが、オリジナルのJava版がLinuxに対応。
何の問題もなくいつもどおりに動作する。



仮想PC(AT互換機で最近のOS)
----------------------------------------
VMWareとかVirtualPCとかを使っていた部分。
LinuxはそもそもKVMのおかげで仮想環境を作りやすいOSで、得意分野だったりする。
サーバー用途で、各環境の雛形から構築するなら、Dockerでもいい。
「virt-manager」でGUIによる仮想環境の管理ができる。






メモ一覧へ

(C)2005-2024 OffGao All Rights Reserved.