Ubuntu 24.04LTS & Windows 10

Ubuntu 24.04LTS & Windows 10

This is my private Tips collection in the Ubuntu operating system in which I have had some difficulties to figure out. It may be maniac but it would be happy to be of help to you?
The main operating system is Ubuntu together with Windows 7. Since the incident updates of USB drivers in Windows 10 make the system being unable to reboot several times, Windows 10 is recently replaced by Windows 7 system so as to run older applications.

判明するのにちょっと苦労したUbuntu・Windows 10デュアルオペレーティングシステムにおける小技集です。マニュアックかもしれませんが、参考になれば嬉しいかな?

Grub Rescue

Dual Boot環境下では、WindowsのUpdate直後、不具合が偶に発生する。今回はBoot Loaderが読み込めずgrubがrescue modeになる不具合が発生。

先ず、Boot Directoryを”ls”コマンドで確認する。

grub rescue> ls
 (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

Bootの在り処はmsdos3でした。以後はお決まりの手順でnormal.moduleを読み込める筈が、dual boot故からか/i386-pc配下にある。

grub rescue> set prefix=(hd0,msdos3)/boot/grub
grub rescue> insmod (hd0,msdos3)/boot/grub/i386-pc/normal.mod
grub rescue> normal
grub rescue中

grubをreinstallする為、起動するOSはUbuntuを選ぶ。
起動したらgrubをreinstallする

$ sudo grub-install /dev/sda

Installing for i386-pc platform.
Installation finished. No error reported.

以上で無事復旧する筈。
尚、rescue modeになった場合、キーボード配列が日本語配列になっていないので注意。

(:Shift+9、):Shift+0、=:^

Boot-Repair-Disk

もう一つ頼もしいブート修復助っ人であるboot-repairレスキューソフトは、起動デスクを立ち上げてその度にInstallする必要がある。

Boot Repair起動

しかし、boot-repair起動ディスクを使えばそんな手間はいらず作業は容易である。

boot-repair-diskのisoファイルははこちらから入手できる。
ダウンロードしたisoファイルをUbuntu標準のStartup Disk Utilityを使ってUSBメモリに焼く。

これで起動させるだけ。

自動で修復される。

Tiny 10

Windows 10はヘビーなので一時Tiny 10をインストールしていたことがある。しかし、Windows Updateが上手くいかないことが多く、又、日本語ソフトが上手く日本語を表記されないことから、結局Windows 10に差し替えている。Windows Updateの頻度が多く且つ更新に時間がかかる事から使いたくなのだが致し方ない。

Bootが遅いと思ったら

次のコマンドを実行する

$ systemd-analyze

Startup finished in 2.668s (kernel) + 9.774s (userspace) = 12.442s 
graphical.target reached after 9.766s in userspace

具体的に時間経過を確認したい場合には

$ systemd-analyze blame

6.831s NetworkManager-wait-online.service
4.784s plymouth-quit-wait.service
2.455s dev-sda3.device
2.160s snapd.service
1.194s snap-snap\x2dstore-558.mount
1.147s snap-core20-1169.mount
....

通常、接続関連(NetworkManager-wait-online)が時間を食う。

Disableすることもできるようであるが、

$ sudo systemctl disable NetworkManager-wait-online.service

俺は、〜/etc/systemd/system.confに登録してある時間設定をDefault90sから10sへ短縮している。

因みに、Desktop machineではplymouth-quit-wait.serviceが最も時間を食っている。これは如何ともしがたい。

e4defrag

Linuxのファイルシステム(ext4)は断片化を防ぐ機能が備わっているものの、断片化の状況に付き知りたいと思うことがある。

$ sudo e4defrag -c /

e4defrag 1.45.7 (28-Jan-2021)
<Fragmented files>                             now/best       size/ext
1. /var/lib/gdm3/.cache/mesa_shader_cache/index
                                                73/1              4 KB
2. /var/log/auth.log                            17/1              4 KB
3. /home/pagoda/.cache/Google/AndroidStudio2020.3/LocalHistory/changes.storageRecordIndex
                                                13/1              4 KB
4. /var/log/ubuntu-advantage.log.1              10/1              4 KB
5. /var/log/alternatives.log.1                   7/1              4 KB

 Total/best extents				550363/508597
 Average size per extent			491 KB
 Fragmentation score				0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This directory (/) does not need defragmentation.
 Done.
pagoda@cf

デフラグは上記コマンドで-cを除いて実行する。

$ sudo e4defrag /

aptコマンド関連摘要

  • システムにあるパッケージの更新
    apt update
  • 新しいバージョンが利用できるパッケージの一覧表示
    apt list –upgradable
  • システムにあるパッケージのアップグレード
    apt upgrade
  • システムにあるパッケージの全てのアップグレード
    (追加パッケージ導入、不要パッケージ削除、カーネル更新を含む)
    apt dist-upgrade
  • パッケージとその依存のインストール
    apt install <package name>
    sources.list若しくはtrusted.gpgにregisterされる。不要なapt packageをupdateしたくない場合にはlist/gpgから当該packageを削除しておく必要がある。また、これらはSoftware UpdaterのOther Softwareにも関連する項目である。
/etc/apt/ディレクトリ

dpkg Packageのインストール

debファイルのインストールは次のコマンド一行で行う。

$ sudo dpkg -i <Download file.deb>

但し、Dependency関係を自己解消してくれないので、下記のようにManualで対処するしかない。

$ sudo apt install --fix-broken

System Controlアイコンが消えた

気がついたら画面右上の鍵マーク左にあるシステムアイコンが無くなっていた。理由は不明。これがないと不便なので下記コマンドでソフトのInstall有無の確認後に再Installする。

~$ gnome-control-center
~$ sudo apt install gnome-control-center

Login画面でRootで入る

 手順は以下の要領にて

  1. root権限に置けるパスワードをTerminalにて設定する
    ~$ sudo passwd root
    [sudo] password for pagoda:
    New password:
    Retype new password:
    passwd: password updated successfully
  2. su -で root に入る
    ~$ su -
  3. /etc/gdm3/custom.confファイルの修正
    行[security]の後にAllowRoot=trueを追加
  4. /etc/pam.d/gdm-passwordファイルの修正
    auth required pam_succeed_if.so user != root quiet_success行の頭に#をつけてコメント行に変更
  5. reboot
    起動後のLogin画面で、ユーザー名root入力する。パスワードを聞かれるので、先に設定したパスワードを入力すればrootに入れる

Root権限でFile Managerを開く

ファイル操作をRoot権限で行えると便利である。File ManagerをRoot権限で開く。

sudo nautilus

マルチブート環境下での時計のズレを正す

UbuntuとWindowsを切り替えるたびに時刻が9時間ずれる不具合を修正する。
以下コマンドを実行

~$ sudo timedatectl set-local-rtc true

上記の設定後、Windows上で時刻を同期し直せばズレはなくなる。

ディレクトリ名を英語表示する

 Terminalを使用する場合、ディレクトリ名は英語表示の方が格段に便利。下記コマンドラインにて英語表記に変更できる。因みに、俺は英語版のUbuntuをインストールしているので直接支障はなかったが。

~$ LANG=C xdg-user-dirs-update --force

なお、Login時に下記のようなエラーが表示されたら、

次のようにコマンドラインにてBluetooth Managerの設定を変更する。

~$ sudo gsettings set org.blueman.transfer shared-path '/home/user/Downloads/'

更に、Bluetooth Managerを起動し、ローカルサービス→転送→転送設定の Incoming Folder に「Downloads」を設定しておく。

USB DeviceのVersionを確認する

3.0の表示はVersion 3を示し、ないものは2.0を示す。因みに、最大速度は3.0は5 Gbps (xHCI Controller)、2.0は480 Mbps (EHCI Controller)である。

~$ lspci | grep USB
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
06:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)

USB端子に何も接続していない状態

~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
        |__ Port 2: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

USB端子3箇所の内2箇所に3.0と2.0を各々接続した状態

~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 16, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
        |__ Port 2: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

Crash Reportを削除する

 Login時に発生したCrash Reportを以下のコマンドラインにて削除できる。

~$ ls -l /var/crash 
合計 52344
-rw-r----- 1 pagoda whoopsie 53060670 5月 23 07:24 _opt_google_chrome_chrome.1000.crash 
-rw-r--r-- 1 pagoda whoopsie 0 5月 22 13:01 _opt_google_chrome_chrome.1000.upload 
-rw------- 1 whoopsie whoopsie 0 5月 22 18:40 _opt_google_chrome_chrome.1000.uploaded
 
~$ sudo rm /var/crash/*

英語版Ubuntuを日本語化する

 言語サポートをインストール後、使用する言語を「日本語」に設定し、
システム全体に適用する。

入力ソースに日本語 (Mozc)を登録する。

以上で日本語化Ok。

ディスクをマウントする

~$ mount /media/<username>/<volume> /mnt

アンマウントするには

~$ unmount /mnt

具体例

~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   579M  0 part 
├─sda2   8:2    0 185.7G  0 part 
├─sda3   8:3    0     1K  0 part 
└─sda5   8:5    0 279.5G  0 part /
sdb      8:16   0 298.1G  0 disk 
└─sdb1   8:17   0 298.1G  0 part /media/<username>/<volume>

~$ mount /dev/sdb1 /mnt
mount: only root can do that

~$ sudo mount /dev/sdb1 /mnt
[sudo] password for <username>: 

~$ ls /mnt
'$RECYCLE.BIN'               'smart 2020'   'smartmatrix 2020'
'System Volume Information'   広町の森

~$ cd /mnt

/mnt$ ls -l
total 4194752
drwxr-xr-x  4 <username> <username>  32768 12月 11 12:48 '$RECYCLE.BIN'
drwxr-xr-x  4 <username> <username>  32768 12月 20 06:34 'smart 2020'
drwxr-xr-x  5 <username> <username>  32768 12月 20 06:35 'smartmatrix 2020'
drwxr-xr-x  2 <username> <username>  32768  7月 22 17:04 'System Volume Information'
drwxr-xr-x 17 <username> <username>  32768 12月 15 00:00  広町の森

USBメモリのパーティションを完全に削除する

 OSインストール用のbootable USBを作成していると、パーティションで区切られてしまい、単なるフォーマットでは完全に削除できずに空き容量が小さくなってしまった経験がありませんか。

従前はTerminalでfdiskコマンドを実行して対話モードでパーティションを削除の上フォーマットしていたが余りに面倒なので、最近はUbuntu標準ソフトのGNOME-Disksで行っている。

exFAT形式のUSBメモリを認識する

 exFAT形式のUSBメモリをPCに差してもボリュームが表示されない場合、以下のコマンドラインでexFAT形式を読み込むサービスを追加する。

~$ sudo apt install exfat-fuse exfat-utils

ディレクトリのSymbolic Linkを作成する

 Defaultではマウス右クリックメニューにSymbolic Linkがない設定なので、GNOME-FilesのPreferenceのBehaviorタブを開き Link Creationにチェックを入れておく。

リンクしたいディレクトリ若しくはファイルでマウスの右クリックして”Create Link”を左クリックするとLinkされる。コマンドによる設定より格段に容易。コマンド使用の場合、slash(/)如何でエラーが出やすい。

スピーカーから音を出す

19.10にUpdateしてから音が出なくなった。イヤホンは問題なし。そのままにして長く放ったらかしにして置いたが、必要に駆られてが本腰を入れて直しにかかる。ネットで報告されている解決策を一つ一つTry。漸く探り当てた解決策をご紹介する。

Terminalを開き、下記コマンドを入力する。

$ alsamixer

alsamixerの画面が開く。F6を押下してサウンドカード「HDA Intel PCH」を選択する。「Headphone」がゼロになっているので、↑キイで音量を上げる。

ターミナルで下記コマンドを入力する。

$ alsactl --file ~/.config/asound.state store
$ gnome-session-properties

「自動起動するアプリケーションの設定」の画面で追加をクリック。起動するソフトを「alsactl –file ~/.config/asound.state restore」に設定する。名前は任意、例えば、sound等。

以上

Android Studioを手動でインストールする

 何故かsnapが使えなかったので、インストールファイルをダウンロードして下記要領にて手動でインストールしました。

  • ダウンロードした.zipファイルを適切な場所に解凍する。/opt/android-studio/ディレクトリにファイルを解凍。
  • Android Studioのインストール
    ターミナルを開いて、ディレクトリ(/opt/android-studio/bin/)に移動し、studio.shを実行する。
  • 全てのディレクトリから Android Studio を起動できるように、環境変数のPATHに/opt/android-studio/bin/を追加する。
    Login時に「PATH」を自動で設定する為に、ホームディレクトリ直下の隠しファイル(.bashrc)を編集して、PATHに”:/opt/android-studio/bin”を追加することができる。
    具体的には、Terminalにて以下コマンドにてPATHの設定、設定のシステムへの反映、並びに確認を行うことができれる。
~$ su -
~# cd ~/
~# nano .bashrc
~# source .bashrc
~# echo $PATH
  • Android Studio セットアップ ウィザードに従い、開発に必要な Android SDK コンポーネントのダウンロードなどのセットアップ処理を進める。
~# ls -a
. .AndroidStudio3.4 .android .bashrc .config .java .mozc .profile Android Documents Music Public Videos
.. .ICEauthority .bash_history .cache .gnupg .local .mozilla .ssh Desktop Downloads Pictures Templates

~# nano .bashrc
~# echo $PA
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/android-studio/bin

TerminalからBIOS設定に入る

 使用することはないと思うが。

~$ sudo systemctl reboot --firmware-setup

機種によっては以下のエラーを出すこともある。その場合は断念。

Cannot indicate to EFI to boot into setup mode: Firmware does not support boot into firmware.

それにしてもUbuntuもHeavyになりましたね。古い機種にとっては使い辛いです。

July 2024