これからのPCはLinux(ubuntu)で行こうーーーー目次ーーーー 3.Windowsのwslでubuntuをインストールする方法 10.zipファイル、tarファイル、tar.gzファイル、tar.xzファイルの展開方法 ーーーーーーーーーー 2019年12月4日、久しぶりに新しいCPUを買いました! 昔はアンチIntelだった私が選ぶのはもちろん 「AMDの第3世代Ryzen!」 です。この10年ほどは、処理速度も消費電力もコストパフォーマンスも、インテルに大差をつけられて おり、AMDを選ぶ理由が全くなかったのが、今年発売したZen2アーキテクチャを採用した第3世代 Ryzen(Ryzen3000シリーズ)で一気に逆転してしまいました。 更に、CPUの性能だけでなく、第3世代Ryzenは、DDR4-3200の高速なメモリにも対応し、おかげで 高速メモリの価格も大幅に安くなりました。実は、今回、システムを新しくしたのは「メモリが史上最安」 になったことと、「5%ポイント還元」によるところが大きいです。ちなみにハード構成は、次の通り。 CPU:Ryzen 5 3600 (7nmプロセス、6コア12スレッド、3.6GHz(ブーストで4.2GHz)、キャッシュ384KB+3MB+32MB) マザーボード:GIGABYTE B450M S2H メモリ:CFD W4U3200CX1-16G(DDR4-3200 16GB x 2、CL16-18-18) グラフィック:AMD HD7750(家で余っていたグラボ) HDD:WD 1TB(家で余っていたHDD) ケース:なんと木製の自作ケース。電源は余っていた中国製の400W。
で、新しいシステムは買ったものの、「Windows7はサポートが切れるし、Windows10マシンが2台 あっても新しいことはできないなぁ。いっその事、Linuxインストールしてみようか!」という思い付き で、久しぶりにLinuxをインストールしてみました。 ところがどっこい、Linuxが進んでいる! メジャーではないアプリのインストールには苦労しますが、 Windowsを使う必要がないぐらいになってます。ポイントは次の通り。
・Windowsエミュレータのwineで、Windowsの64bitソフトでもインストールして動く! インストーラが使える。デスクトップにアイコンもできる。動作速度もほぼ同じ。 但し、ゲームのように専用ドライバが必要なものは動きませんし、フォントが使えない ことがあったり、ソフトの一部機能が使えない場合があります。 ・GUIもWindowsと同等に扱える。ドラッグアンドドロップもできる。 ・フリーの定番ソフトは、Linux版も公開されている。 また、自作ソフトをLinuxのgccでコンパイル(最適化オプションON時)したら、Visual Studio2017と比べ1.2ー1.5倍程度高速に処理できたことから、他のソフトもLinux版 の方が性能が高いと思われる。
よって、私が作ったYIMG64等のソフトも使えるし、Registax5.1(Registax6はなぜかファイル 選択できない!)、Astrometrica、Arduino、anaconda等、普段使っている95%以上の作業は、 Linuxで出来そうです。(現在、様々なソフトを試しているところ。ちなみに、このHPも ubuntu+wineを使って作成) 更に、マイクロソフトも2016年からwsl(Windows Subsystem for Linux)を提供しており、 Windows10及びWindows11でLinuxを実行することも可能となりました。その手順も下記 に記載しました。 LinuxをWindowsのように使えるようにするまでの手順を記載したいと思います。
今回は、A.I.(Deep Learning)で使うtensorflowの推奨環境という事で、ubuntuを使いました。 ubuntuの最新版は19.10だったのですが、ソフトを色々とインストールしてみると正常に動かな かったり非対応だったりして困ったので、結局「18.04.3LTS」(2023年にHDDが壊れたので 20.04LTSに変更しました)にしました。LTSとは、Long Term Supportつまり長期サポート版で 5年保証なので、安心して使えます。 手順は次の通り。(あちこちのHPに紹介があるので、それも参考にしてください。) (1)ubuntu Japanese TeamのUbuntuDesktop日本語Remixから「ubuntu-ja-18.04.3-desktop-amd64.iso」 をダウンロードする。 (2)(1)のISOファイルでライブUSBメモリを作成するか、右クリックしてc:\Windows\System32\isoburn で開きDVD-Rに書き込む。 (3)新しいマシンに(2)のライブUSBメモリをつなぐか、DVDドライブを接続しDVD-Rから起動する。 (4)「Install Ubuntu」を選択。その後、日本語を選び、キーボードを選択し、それ以降は希望に合わせ 選択し、インストールを行ってください。 (5)インストール終了後、HDDから立ち上がったら、ソフトウェアのアップデートを実行してください。 これを行わないと、Firefoxなど一部ソフトが思った通りに動かないです。
3.Windowsのwslでubuntuをインストールする方法 Windows10及びWindows11では、wsl(Windows Subsystem for Linux)を使うことでWindowsでLinuxの コマンドを実行することが可能です。私の場合、RISC-Vのgccを実行したり、Linuxのコマンドを使いたい 場合に利用しています。手順は次の通り。 (1)BIOSでCPUの仮想化機能がdisableになっている場合、enableにする必要があります。具体的には、 BIOSのCPU設定で、SVM又はVT-d又はVirtualizationTechnologyと書かれている項目をenableにします。 (2)管理者権限でPowerShellを実行。PowerShellの上で右ボタンを押し、「管理者として実行」を選ぶ。 (3)次のコマンドを実行。 >>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart >>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart (4)再起動 (5)次のコマンドを実行して、wsl2を有効にし、Ubuntu20.04をインストール。(Linuxのバージョンは各自選択) >>wsl --set-default-version 2 >>wsl --list --online >>wsl --update >>wsl --install -d Ubuntu-20.04 (6)Linuxのshellが立ち上がるので、最初の1回だけusernameとpasswordの入力が必要なので、好きな 値を設定。以降は、アプリケーションに、Ubuntu20.04が追加されているので、それを実行すれば良い。 なお、何もアプリケーションはインストールされていないので、 >>sudo apt update >>sudo apt install gcc のように、gccなどを順にインストールして下さい。 (7)WindowsからLinuxのファイルにアクセスする場合は、エクスプローラで「\\wsl$」と入力する。 (8)異常が発生したり、アンインストールしたい場合はPowerShellで次のコマンドをうつ。 >>wsl --unregister Ubuntu-20.04
WineHQは、Lunuxで動作するWindowsエミュレータです。Windowsの32bitアプリだけでなく64bitアプリ もLinux上で動作します。 エミュレータとは言え、CPUは共通なので、動作速度にほぼ影響はなく、CINEBENCH15でもWindows10 でベンチマークテストを行ったものとほぼ同じ数字が出ています。 インストーラにも対応しています。普通に、C:ProgramFilesにインストールすると、HDDの適当な場所に インストールされ、デスクトップにアイコンもできます。うーん、すごい... インストール方法は次の通りで、詳細はこちらを参照ください。 >>sudo dpkg --add-architecture i386 >>wget -nc https://dl.winehq.org/wine-builds/winehq.key >>sudo apt-key add winehq.key >>sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main' (注意.Linuxのバージョンによってコマンドが異なるのでこちらを参照) >>sudo apt update >>sudo apt install --install-recommends winehq-stable その後、 >>winecfg でWineの設定を確認します。ここの、画面ー画面解像度に「10ポイントのTahomaによる見本です」 が正しく表示されない場合、次の方法でフォントを追加します。 ・最初にwinetricksをインストール! >>sudo apt install -y winetricks ・英字が化ける場合 >>winetricks allfonts ・日本語が化ける場合 >>winetricks Select the default wineprefixを選んでOK Install a fontを選んでOK fakejapanese_ipamonaとipamonaの2つだけを選んでOK (韓国語フォントが選ばれているのが悪いかもしれないので、チェックを外したほうが安全) キャンセルを押して終了 後は、 >>wine 実行ファイル.exe で、プログラムを実行できます。インストーラも同様に実行できます。 デスクトップには最初、名前だけでアイコンは表示されません。しかし、一度クリックして、「信頼して起動」 を選ぶと、ソフトが起動されると共にアイコンが表示されます。 その他、使用上の注意点は次の通り。 ・Cドライブは、/home/ユーザー名/.wine/drive_cフォルダに作られています。 ・バッチファイルなどコマンドラインで実行したい時は、 >wine cmd を実行。
LinuxとWindowsでファイル共有する場合は、Sambaを使います。ネットには色々書かれていますが、 結局、次の手順で動いたようです。 まず、sambaをインストールします。 >>sudo apt update >>sudo apt install samba 設定ファイル/etc/samba/smb.confを書き換えます。 >>sudo vi /etc/samba/smb.conf workgroup = WORKGROUP interfaces = 127.0.0.0/8 192.xxx.yyy/24 左のアイコンの ファイル を起動し、共有するフォルダーを作成するか、既存のフォルダーで右ボタンを 押します。そこで ローカルネットワーク共有 を選び、 このフォルダーを共有する にチェックを入れ その他の項目は好みで設定下さい。その時、「共有サービスがインストールされていません」などと出た 場合は、指示に従ってインストールして下さい。 次にLinuxマシンのIPアドレスを、次のコマンドで確認します。 >>ifconfig もし、コマンドが無いというようなメッセージが出たら、指示に従ってコマンドをインストールして下さい。 Windowsマシンからアクセスする場合、エクスプローラで「\\192.xxx.yyy.zzz\フォルダ名」と打つと、 Linuxマシンの共有フォルダーにアクセスできます。 Linuxマシンからアクセスする場合、 左のアイコンの ファイル を起動し、「他の場所」のサーバーの アドレスに smb://192.xxx.yyy.aaa のようにWindowsマシンやLinuxマシン(RaspberryPiも含む)のIPアドレスを入力すると共有フォルダに アクセスできます。
これが最も簡単な方法です。注目アプリケーションやお勧めのアプリケーションはここからインストール して下さい。検索は、分かり難いですが、上のタイトルバーの虫眼鏡を押すと、検索窓が開きます。 使い方は、アプリを選んで、インストールボタンを押し、パスワードを入力するだけです。
実行ファイルやインストーラがそのままバイナリで提供されている場合、端末を開いてコマンドを 打つ必要があります。詳細はアプリ毎に異なるので、それぞれの説明を読んで下さい。 基本的な操作は、次の通り。 >>cd ~/ダウンロード >>sudo chmod +x ファイル.bin >>sudo ./ファイル.bin インストール出来たら、どこからでも起動できるように設定します。好きなエディタで「~/.bashrc」を 開きます。ここでは、viを使用します。 >>sudo vi ~/.bashrc 適当な行に、 export PATH=実行ファイルのあるフォルダー:$PATH を追加し、実行ファイルが存在するフォルダーにPATHを通す。 >>source ~/.bashrc >>実行ファイル 以降は、端末を開いて、好きなフォルダーで、実行ファイルだけで実行できるはずです。
debファイルはDebian系のLinux用のインストールファイルですが、ubuntu系にも インストールできます。通常はdpkgコマンドでインストールするのですが、依存関係 などで困ることもあるようなので、GDebiのが良いようです。 まずは、GDebiをインストールします。 >>sudo apt install gdebi その後、次のコマンドでdebをインストールできます。 >>sudo gdebi ファイル.deb
RPMファイルは、Redhat系のLinux用のインストールファイルで、私が試したところ、 プラグイン等のライブラリが異なる場所にインストールされ動作しない場合がありました が、アプリケーションはインストールできました。 alienコマンドでdebに変換してインストール可能です。 まずは、alienをインストールします。 >>sudo apt-get -y install alien その後、次のコマンドで、RPMをインストールできます。 >>sudo alien -i ファイル.RPM
10.zipファイル、tarファイル、tar.gzファイル、tar.xzファイルの展開方法 圧縮ファイルですので先ずは展開し、その後、上記の操作を行ってください。 zipファイルの場合 >>unzip ファイル.zip tarファイル >>tar xvf ファイル.tar tar.gzファイルの場合 >>tar zxvf ファイル.tar.gz tar.xzファイルの場合 >>tar Jxvf ファイル.tar.xz
Windows用ソフトは上記のwineで動作しますが、色々とC言語でプログラムを作ってみると VisualStudioで作ったWindowsソフトより、gccで作ったLinuxネイティブのソフトの方が、 20%程度高速に動作することが判明しました。こうなると、やはりLinuxネイティブのGUIを 使ったソフトを開発したい! 私はWindows用ソフトを、昔ながらのC言語で開発しています。それと親和性が高いという ことで、GTK3を使うことにしました。 (1)開発環境のインストール >>sudo apt update >>sudo apt install libgtk-3-dev >>sudo apt install pkg-config >>sudo apt install glade (2)コーディング プロジェクトのHPは、The GTK Projectなのですが、必要な情報がなかなか見つかりません。 コードディング方法についてはこちらを参考にしました。紹介されているコードは、ここから ダウンロードすることができました。(右上にDownloadのボタンがあります。) 日本語のページで、一番役に立ったのは、こちらのページです。 その他、ネットに色々とサンプルが紹介されているのですがGTK2用に書かれたものが多く、 GTK3と互換性がなくて、非常に苦労しています。 なお、コンパイルは次のように行います。(-lmは算術関数を使う時に必要。) >>gcc ファイル.c -o 実行ファイル名 -lm $(pkg-config --cflags --libs gtk+-3.0) 最適化を行う場合は、次の通り。これにより、ソフトによっては2倍程度処理速度が早くなります。 >>gcc ファイル.c -o 実行ファイル名 -lm -O3 $(pkg-config --cflags --libs gtk+-3.0) マルチスレッドのプログラムを作成する時は、次のようなオプションにします。 >>gcc ファイル.c -o 実行ファイル名 -lm -lpthread -O3 $(pkg-config --cflags --libs gtk+-3.0)
(1)VNC viewer RaspberryPi3BやRaspberryPi4Bに記載しているとおり、RaspberryPiでvncのサーバーを たてて、ubuntuで画面を表示する場合、左下のアプリケーションボタンの中に標準で VNC Viewerがインストールされていますので、問題なく動作します。
(2)VNC Server 本当は、逆にubuntuが入ったメインマシンでサーバーを立ち上げ、各RaspberryPiを Viewerにすれば、マシンパワーを皆で共有できて便利なはずです。(ネットではこのような 使い方は見つかりませんが...) しかし、色々と試しましたが、結論として、「デスクトップ版ubuntuで複数のデスクトップは 起動できないのでは?」と感じています。サーバー版ubuntuならできそうですが、試して いません。 一応、調べた結果を記載しておきます。 <課題> ・ubuntuでvnc serverを立ち上げ、RaspberryPiからアクセスしたが、灰色の画面と マウスカーソルだけ表示され、何も操作できない。(端末さえ開けない!) ・ファイルマネージャだけ表示できたが、今度はubuntu側でファイルマネージャが 使えず、リモートデスクトップ側でしか操作できなくなった。 <試したこと> ・vnc4serverとtigervncを試したが、動作は変わらず。(vnc serverの問題ではない!) ・デスクトップではGNOMEを使っているので、GNOMEのデスクトップを指定したがダメ。 xfceを入れると、vncで接続するとエラーが出る。(デスクトップを2つ開くの禁止?) ・上記のファイルマネージャの動作の通り、メインのデスクトップと、vncのデスクトップが 1つのものとして扱われているように思われる。つまり、vncがマルチディスプレイの 扱いなので、メニューがメインのデスクトップに表示されていると、vnc側にはメニュー が表示できないようだ。
ここ数年、画像識別、分類、骨格推定、超解像、音声認識、そしてChatGPTをはじめとする LLMなど様々なAIが現れ、高い効果を上げています。但し、演算量が非常に多く、CPUだけ では、十分な処理速度が得られません。nVidiaのGPUを持っていてLinuxを使うなら、CUDA を活用しない手はありません。 CUDAでtorchを実行できるようにしておけば、tensorflowなどもGPUで動くようなので、 torchでCUDAを使う方法について記載します。注意点は、torchは特定のバージョンの CUDAでしか動かないことです。 (1)PyTorchで使えるCUDAバージョンを確認:PyTorchのHPで、CUDAのバージョンを確認。 2024年4月では、11.8と12.1です。
(2)nVidiaのドライバのインストール:nVidiaのHPでお持ちのGPUやOSを選択し、「探す」を押し、 「ダウンロード」を押す。端末から、ダウンロードしたファイルを実行する。 >>sudo apt update >>sudo chmod +x NVIDIA-Linux-x86_64-xxx.run >>sudo ./NVIDIA-Linux-x86_64-xxx.run >>reboot >>nvidia-smi
(3)CUDAツールキットのインストール:nVidiaのHPからtorchがサポートしているバージョンの Toolkitを選び、OS等を選択するとコマンドが表示されるので、それに従ってインストールする。 InstallerTypeは、runfile(local)をお勧めします。 driverのエラーが発生した場合は、driverのXをspaceキーを押して、消してから実行下さい。 11.8の場合は次の通り。 >>wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run >>sudo sh cuda_11.8.0_520.61.05_linux.run
(4)PyTorchをインストールする:PyTorchのHPで、OSやCUDAのバージョンを選ぶとコマンドが 表示されるので、そのコマンドを端末で実行。例えば次の通り。 >>pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Githubやhuggingfaceに様々なAIのサンプルがありますので、色々なAIモデルを実行すると良いでしょう。
(1)ブラウザを起動したり、ブラウザで動画や音楽を再生すると音が割れたように異常になる。 ネットで調べても正確な情報が全く見つからないが、Ubuntu20.04以前で、ブラウザで音声再生を 起動した時にサウンド再生のバッファーが異常となり、過去と音と干渉している模様。現状、次の 設定が最も効果があったが、Ubuntu20.04では完全には解決できなかった。 Ubuntu22.04では、最初から不具合は発生しなかった。 エディタで、「/etc/modprobe.d/alsa-base.conf」を開き、 最終ラインに、次の設定を追加。 options snd-intel-dspcfg dsp_driver=2
(2)複数のHDD,SDDを接続している場合に、起動直後に他のドライブが見えない(マウントされていない)。 自動マウント機能を設定する必要があります。手順は次の通り。 1. ドライブのUUIDとTYPEを確認 >>sudo blkid 2. ドライブのUUID、マウントポイント、TYPEなどを追加する >>sudo vi /etc/fstab 記入例:UUID=abcd-1234 /home/user/hdd ext4 defaults 0 0 |