softwares/ubuntu/installation-lts-desktop/index.wiki.txt

current previous
1,29 1,15
~
%smdncms%(set-metadata,title,Ubuntu 22.04のインストール)
%smdncms%(set-metadata,title,Ubuntu 20.04のインストール)
~
%smdncms%(set-metadata,keywords,Ubuntu,22.04,Jammy Jellyfish,初期設定)
%smdncms%(set-metadata,keywords,Ubuntu,20.04,Bionic Beaver,初期設定)
 
#pragma set-parser-option(extend-nesting-limit,true)
#pragma set-parser-option(extend-nesting-limit,true)
 

        

        
~
[[Ubuntu 22.04.1 LTS (Jammy Jellyfish):https://releases.ubuntu.com/22.04/]]のインストールと初期設定・環境構築について。
[[Ubuntu 20.04 LTS (Focal Fossa):https://releases.ubuntu.com/20.04/]]のインストールと初期設定・環境構築について。
 

        

        
 
:目的と内容|最小インストールを用いてクリーンインストールする
:目的と内容|最小インストールを用いてクリーンインストールする
~
デスクトップPCを開発機・内向けサーバ機として構成する
デスクトップPCを開発機兼内向けサーバ機として構成する
+
インストール時に実施した手順、各種設定の内容を記録し、次回インストール時のベース・変更点の検証材料とする
 
:本文の構成|
:本文の構成|
~
::[[#Installation]]|[[ライブUSBを使ったインストール前の構成確認・ネットワーク設定・パーティショニングなどの下準備>#Installation_Preparation]]
::[[#Installation]]|ライブUSBを使ってUbuntuを起動し、構成確認・ネットワーク設定・パーティショニングなどの下準備を行ってからインストールを行う
~
[[実際のインストール作業>#Installation_Start]]
::[[#Configure]]|[[ターミナル・シェルの設定>#ConfigureTerminal]]、[[固定IPでのネットワーク設定>#ConfigureNetwork]]などを行う
~
[[初回ログイン時の設定>#Installation_FirstLogon]]
::[[#SoftwarePackages]]|[[不要なパッケージの削除>#remove_unnecessary_packages]]・[[使用するパッケージの追加>#install_necessary_packages]]などを行う
+
などを行う。
+
インストール時に必要となる作業を洗い出す際の参考のために、各ステップごとのスクリーンショットも掲載してある。
+
::[[#Configure]]|
+
[[Gnome Terminalの設定>#Configure_GnomeTerminal]]
+
[[Geditの設定>#Configure_Gedit]]
+
[[デフォルトエディタの設定・vimの設定>#Configure_Editor]]
+
[[Bashの設定>#Configure_Bash]]
+
[[systemd-networkdを使った固定IPでのネットワーク設定>#Configure_Network]]・[[ブリッジ接続の設定>#Configure_Network_Bridge]]
+
などを行う
+
::[[#SoftwarePackages]]|[[不要なaptパッケージの削除>#remove_unnecessary_packages]]・[[使用するaptパッケージの追加>#install_necessary_packages]]
+
[[Linux向けMicrosoft製品をインストールするための設定とパッケージのインストール>#install-microsoft-softwares]]
+
[[不要なsnapパッケージの削除・必要なsnapパッケージのインストール>#manage_snap_packages]]
+
などを行う
 
::[[#CustomizeDesktop]]|デスクトップアプリの初期設定などを行う
::[[#CustomizeDesktop]]|デスクトップアプリの初期設定などを行う
 
::[[#CustomizeDevEnv]]|開発環境や各種サーバーの初期設定を行う
::[[#CustomizeDevEnv]]|開発環境や各種サーバーの初期設定を行う
 

        

        
31,109 17,50
 

        

        
 
-[[softwares/ubuntu]]
-[[softwares/ubuntu]]
 
--[[softwares/ubuntu/installation-lts-server]]
--[[softwares/ubuntu/installation-lts-server]]
~
--[[softwares/ubuntu/installation-ubuntu-focal-desktop]]
--[[softwares/ubuntu/installation-ubuntu-bionic-desktop]]
 

        

        
 
$relevantdocs$
$relevantdocs$
 

        

        
 
$relevantdocs(リリースノート)
$relevantdocs(リリースノート)
 

        

        
~
-[[JammyJellyfish/ReleaseNotes/Ja - Ubuntu Wiki:https://wiki.ubuntu.com/JammyJellyfish/ReleaseNotes/Ja]]
-[[FocalFossa/ReleaseNotes - Ubuntu Wiki:https://wiki.ubuntu.com/FocalFossa/ReleaseNotes]]
 

        

        
 
$relevantdocs$
$relevantdocs$
 

        

        
 
#adunit
#adunit
 

        

        
 
*インストール [#Installation]
*インストール [#Installation]
~
以下はISOイメージ[[ubuntu-22.04.1-desktop-amd64.iso:https://releases.ubuntu.com/22.04/]]を使用した場合の手順。
以下は[[ubuntu-20.04-desktop-amd64.iso:https://releases.ubuntu.com/20.04/]]を使用した場合の手順。
 

        

        
 
$remarks
$remarks
~
USBメディアの場合、「ディスク」(``gnome-disk-utility``)を使用することにより、次の手順でISOイメージからブータブルUSBメディアを作成することができる。
USBの場合、「ブータブルUSBの作成」(``usb-creator-gtk``)を起動することでISOイメージからブータブルUSBを作成することができる。
+

         
+
まずDashから「ディスク」を起動する。 起動したら対象のUSBメディアを選択し、「︙」メニューにある「ディスクイメージをリストア」を行う。 表示されるダイアログにてISOイメージファイルを選択した上で「リストアを開始」することにより、ブータブルUSBメディアを作成できる。
 
$remarks$
$remarks$
 

        

        
~
**下準備 [#Installation_Preparation]
**下準備
~
光学メディアあるいはUSBメディアにインストールしたディスクイメージを使ってブートする。
CD-ROMあるいはUSBにインストールしたディスクイメージを使ってブートする。 試用しつつデバイス類や必要な機能が動作するかどうかの確認、パーティション設定などインストール前の下準備を行う。
+

         
+
ここでは試用しつつデバイス類や必要な機能が動作するかどうかの確認、パーティション設定などインストール前の下準備を行う。
 

        

        
 
***【Welcome】
***【Welcome】
 
+左の言語一覧から[日本語]を選択
+左の言語一覧から[日本語]を選択
 
+[Ubuntuを試す]をクリック
+[Ubuntuを試す]をクリック
 

        

        
~
デスクトップが表示されたら、必要に応じて右上のネットワークアイコンをクリックしてネットワーク設定などを行う。 設定ファイルを編集して設定する必要がある場合は[[#Configure_Network]]を参照。
デスクトップが表示されたら、必要に応じて右上のネットワークアイコンをクリックしてネットワーク設定などを行う。
 

        

        
~
#image(width=70%,live-desktop.png,title=Ubuntu 22.04.1 live desktop)
設定ファイルを編集して設定する必要がある場合は[[#ConfigureNetwork]]を参照。
 

        

        
~
***RAIDアレイの検証
#image(liveinstall-0.png,title=ディスクイメージから起動したデスクトップ)
+
初期状態では``mdadm``はインストールされておらず、RAIDアレイは編成されていない状態となっている。 インストール時にRAIDアレイを使用する場合は再編成しておく。
 

        

        
~
#prompt(emphasize=shell-unix){{
***パーティショニング
~
$ sudo apt install mdadm
LVMパーティションを扱う場合は``lvm2``、RAIDディスクを扱う場合は``mdadm``などをインストールする。
~
以下のパッケージが新たにインストールされます:
+``sudo lvdisplay -C``等でインストール先のLVM論理ボリュームの状態を確認しておく。
~
  mdadm
+RAIDアレイが編成されていない状態になっているので、インストール中に使用する場合は``sudo mdadm --assemble --scan``で再編成しておく。
+

         
+
$ sudo mdadm --assemble --scan
+
mdadm: /dev/md127 has been started with 2 drives.
+

         
+
$ cat /proc/mdstat
+
Personalities : [raid1] 
+
md127 : active raid1 sdc1[0] sdb1[1]
+
      1953382464 blocks super 1.2 [2/2] [UU]
+
      bitmap: 1/15 pages [4KB], 65536KB chunk
+

         
+
unused devices: <none>
+
}}
 

        

        
 
$remarks
$remarks
 
''最小インストール''では``mdadm``がインストールされない模様。 そのため、``mdadm``で管理されたRAIDアレイ上のパーティションにマウントポイントを置いた構成でインストールすると、初回起動時にマウントできず起動に失敗する。 [[#Installation_Fix]]を参照。
''最小インストール''では``mdadm``がインストールされない模様。 そのため、``mdadm``で管理されたRAIDアレイ上のパーティションにマウントポイントを置いた構成でインストールすると、初回起動時にマウントできず起動に失敗する。 [[#Installation_Fix]]を参照。
 
$remarks$
$remarks$
 

        

        
~
***LVM LVの検証
GParted(``gparted``)を起動、あるいはKDEパーティションマネージャ(``partitionmanager``)をインストールして起動する。
~
初期状態ではLVMがインストールされている。 ``lvdisplay``コマンドでLVM論理ボリュームの状態を確認できる。
+インストールに必要なパーティショニングを行う
~

         
+UEFIモードでインストールする場合、かつ手動でパーティショニングを行う場合は、''EFIブートパティション''を作成しておく
+
#prompt(emphasize=shell-unix){{
+
$ sudo lvdisplay -C
+
  LV                VG               Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
+
  lv_foo            vg_foo           -wi-a----- 500.00g                                                    
+
  lv_bar            vg_bar           -wi-a----- 500.00g                                                    
+
    :
+
    :
+
}}
+

         
+

         
+
***その他ディスク・パーティションの検証
+
``lsblk``コマンドでディスク・パーティションを確認できる。 また、Dashより「ディスク」を起動することでも確認できる。
+

         
+
#prompt(emphasize=shell-unix){{
+
$ lsblk 
+
NAME                                        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
+
loop0                                         7:0    0   2.1G  1 loop  /rofs
+
loop1                                         7:1    0    62M  1 loop  /snap/core20/1587
+
loop2                                         7:2    0     4K  1 loop  /snap/bare/5
+
loop3                                         7:3    0 163.3M  1 loop  /snap/firefox/1635
+
loop4                                         7:4    0 400.8M  1 loop  /snap/gnome-3-38-2004/112
+
loop5                                         7:5    0  91.7M  1 loop  /snap/gtk-common-themes/1535
+
loop6                                         7:6    0    47M  1 loop  /snap/snapd/16292
+
loop7                                         7:7    0  45.9M  1 loop  /snap/snap-store/582
+
loop8                                         7:8    0   284K  1 loop  /snap/snapd-desktop-integration/14
+
sda                                           8:0    0 931.5G  0 disk  
+
├─sda1                                        8:1    0  18.6G  0 part  [SWAP]
+
├─....
+
 :
+
sdd                                           8:48   1   7.5G  0 disk  
+
├─sdd1                                        8:49   1   3.6G  0 part  /cdrom
+
├─sdd2                                        8:50   1   4.1M  0 part  
+
├─sdd3                                        8:51   1   300K  0 part  
+
├─sdd4                                        8:52   1   500M  0 part  /media/ubuntu/MEMO
+
└─sdd5                                        8:53   1   3.4G  0 part  /var/crash
+
                                                                       /var/log
+
}}
+

         
+
***パーティショニング
+
GParted(``gparted``)を起動、あるいはKDEパーティションマネージャ(``partitionmanager``)をインストールして起動する。 インストールに際して必要があればパーティショニングを行う。
+

         
+
UEFIモードでインストールする場合、かつ手動でパーティショニングを行う場合は、''EFIブートパティション''を作成しておく。
 

        

        
 
$relevantdocs(UbuntuをUEFIモードでインストールする方法)
$relevantdocs(UbuntuをUEFIモードでインストールする方法)
 

        

        
145,20 72,17
 
+インストールに入る前の確認
+インストールに入る前の確認
 
++キーボード等その他構成
++キーボード等その他構成
 
++ネットワークの設定
++ネットワークの設定
~
++バックアップ・作業手順等
++バックアップ等
 
+インストールに入る前の設定
+インストールに入る前の設定
~
++[Settings]→[Power]→[Power Saving]で[Blank screen]が``Never``になっていることを確認 (インストール中に画面をオフあるいはロックさせない)
++[Settings]→[Power]→[Power Saving]で[Blank screen]を``Never``に設定する (インストール中に画面をオフあるいはロックさせない)
+

         
+

         
+
**実際のインストールを開始 [#Installation_Start]
+
デスクトップの[Ubuntu 20.04.1 LTSのインストール]のアイコンからインストールを開始する。
 

        

        
~
#image(width=70%,installer-icon.png,title=Ubuntu 20.04.1 LTSのインストール)
**インストール
-
デスクトップの[Ubuntu 20.04 LTSのインストール]のアイコンからインストールを開始する。
 

        

        
 
システムモニタを起動しておくとシステム状態とインストーラの状態(ダウンロード中か、IO処理中か)を把握しやすい。
システムモニタを起動しておくとシステム状態とインストーラの状態(ダウンロード中か、IO処理中か)を把握しやすい。
 

        

        
 
$remarks
$remarks
~
インストール中、解像度の関係でダイアログが画面をはみ出して読めない・フォーカスできない・ボタンが押せない場合は、``ALT``+``F7``を押すことによりウィンドウ端を画面外まで移動させることができるようになる。
インストール中、ダイアログが画面をはみ出して読めない・フォーカスできない・ボタンが押せない場合は、``ALT``+``F7``を押すことによりウィンドウ端を画面外まで移動させることができるようになる。
 
$remarks$
$remarks$
 

        

        
 
***【ようこそ】
***【ようこそ】
171,64 95,66
 
+適切なキーボードが選択されていることを確認する
+適切なキーボードが選択されていることを確認する
 
+[続ける]
+[続ける]
 

        

        
+
#image(width=70%,installation-1.png,title=【キーボードレイアウト】)
+

         
 
***【アップデートと他のソフトウェア】
***【アップデートと他のソフトウェア】
 
+[最小インストール]を選択する
+[最小インストール]を選択する
 
+[その他のオプション]
+[その他のオプション]
~
++[Ubuntuのインストール中にアップデートをダウンロードする]にチェックを入れる
++[インストール中にアップデートをダウンロードする]にチェックを入れる
 
++必要に応じて[サードパーティー製ソフトウェアをインストールする]にチェックを入れる
++必要に応じて[サードパーティー製ソフトウェアをインストールする]にチェックを入れる
 
+[続ける]
+[続ける]
 

        

        
~
#image(width=70%,installation-2.png,title=【アップデートと他のソフトウェア】)
#image(width=70%,installation-1.png,title=【アップデートと他のソフトウェア】)
 

        

        
 
***【インストールの種類】
***【インストールの種類】
 
+[それ以外]を選択 (パーティション設定を行う場合)
+[それ以外]を選択 (パーティション設定を行う場合)
 
+[続ける]
+[続ける]
 

        

        
~
#image(width=70%,installation-3.png,title=【インストールの種類】)
#image(width=70%,installation-2.png,title=【インストールの種類】)
 

        

        
 
****【パーティション設定】
****【パーティション設定】
 
+使用するデバイス・マウントポイント等を設定する
+使用するデバイス・マウントポイント等を設定する
 
++swapパーティションが複数見つかった場合、すべて[使用する]の設定になってしまうので、必要ないものは[使用しない]に変更する(``swap``ではなく``linux-swap``に戻す)
++swapパーティションが複数見つかった場合、すべて[使用する]の設定になってしまうので、必要ないものは[使用しない]に変更する(``swap``ではなく``linux-swap``に戻す)
 
+[インストール]をクリック
+[インストール]をクリック
-
+ディクスへの変更内容を確認して[続ける]
 

        

        
~
#image(width=70%,installation-4.png,title=パーティションの設定)
インストールが開始される。
+

         
+
+ディクスへの変更内容を確認して[続ける]
 

        

        
~
#image(width=70%,installation-5.png,title=パーティション設定の確認)
#image(width=70%,installation-3.png,title=パーティションの設定)
-
#image(width=70%,installation-4.png,title=パーティション設定の確認)
 

        

        
 
***【どこに住んでいますか?】
***【どこに住んでいますか?】
 
+適切なタイムゾーンを選択
+適切なタイムゾーンを選択
 
+[続ける]
+[続ける]
 

        

        
~
#image(width=70%,installation-6.png,title=【どこに住んでいますか?】)
#image(width=70%,installation-5.png,title=【どこに住んでいますか?】)
 

        

        
 
***【あなたの情報を入力してください】
***【あなたの情報を入力してください】
 
+ユーザー名、コンピューター名、パスワード等を入力
+ユーザー名、コンピューター名、パスワード等を入力
 
+[続ける]
+[続ける]
 

        

        
~
#image(width=70%,installation-7.png,title=【あなたの情報を入力してください】)
#image(width=70%,installation-6.png,title=【あなたの情報を入力してください】)
 

        

        
 
以降、インストールが終了するまで待つ。
以降、インストールが終了するまで待つ。
 

        

        
~
#image(width=70%,installation-8.png,title=【インストール】)
#image(width=70%,installation-7.png,title=【インストール】)
 

        

        
 
***【インストールが完了しました】
***【インストールが完了しました】
 
+[今すぐ再起動する]
+[今すぐ再起動する]
 

        

        
~
#image(width=70%,installation-9.png,title=【インストールが完了しました】)
#image(width=70%,installation-8.png,title=【インストールが完了しました】)
 

        

        
~
再起動の準備ができたらインストールメディアを取り外すよう促すメッセージが表示されるので、取り外したら[ENTER]を押して再起動させる。
(CD-ROMの場合はディスクが排出されたら)メディアを取り外して[ENTER]を押して再起動させる
 

        

        
 

        

        
 

        

        
 

        

        
 
**インストール後の修正 [#Installation_Fix]
**インストール後の修正 [#Installation_Fix]
~
インストールが終わったあとにインストールした環境を修正する方法。 まずは、レスキューモードで起動するか、できなければLIVEインストールを起動する。
インストールが終わったあとにインストールした環境を修正する方法について。
-

         
-

         
-

         
-
まずは、レスキューモードで起動するか、できなければLIVEインストールを起動する。
 

        

        
~
次に、``/mnt``ディレクトリ等にchroot環境を作り、その環境に入る。 この例の``/dev/system-root``にはルートパーティションがインストールされているデバイスを指定する。 他にマウントすべきパーティションがあれば同時にマウントしておく。
次に、/mntディレクトリ等にchroot環境を作り、その環境に入る。 この例の``/dev/system-root``にはルートパーティションがインストールされているデバイスを指定する。 他にマウントすべきパーティションがあれば同時にマウントしておく。
 

        

        
 
#code(sh,chroot環境を作る){{
#code(sh,chroot環境を作る){{
 
sudo mount /dev/system-root /mnt
sudo mount /dev/system-root /mnt
236,10 162,10
 
sudo chroot /mnt
sudo chroot /mnt
 
}}
}}
 

        

        
~
以降この環境でインストール後の環境を修正する。 以下は``mdadm``をインストールして初回起動前にRAIDアレイを再編成する場合。
以降この環境でインストール後の環境を修正する。 以下は初回起動前にRAIDアレイを再編成する場合。
 

        

        
 
#code(sh,RAIDアレイの再編成){{
#code(sh,RAIDアレイの再編成){{
~
apt install mdadm
apt isntall mdadm
 
mdadm --assemble --scan
mdadm --assemble --scan
 
}}
}}
 

        

        
304,118 230,105
 

        

        
 

        

        
 

        

        
+
*初回ログイン時の設定 [#Installation_FirstLogon]
+
初回ログイン時はダイアログが表示されるので、ウィザードに従って必要事項を設定・入力する。
 

        

        
+
**【オンラインアカウント】
+
+必要に応じてアカウントを設定するか[スキップ]する
+
#image(width=70%,first-logon-dialog-0.png,title=【オンラインアカウント】)
 

        

        
~
**【Livepatch】
*初回ログイン時の設定
~
+必要に応じて[Livepatchをセットアップ]をクリックする
初回ログイン時はダイアログが表示されるので、ウィザードに従って必要事項を設定・入力する。
+
++セットアップする場合、Ubuntu Oneアカウントが要求されるので、アカウントを登録するか既存のアカウントで接続する
+
#image(width=70%,first-logon-dialog-1.png,title=【Livepatch】)
+
#image(width=70%,first-logon-dialog-2.png,title=Ubuntu Oneアカウントへのサインイン)
+

         
+
**【Ubuntuの改善を支援する】
+
+必要に合わせてシステム情報を送信するか否かを選択
+
#image(width=70%,first-logon-dialog-3.png,title=【Ubuntuの改善を支援する】)
+

         
+
**【プライバシー】
+
+必要に合わせて位置情報サービスを使用するか否かを選択
+
#image(width=70%,first-logon-dialog-4.png,title=【プライバシー】)
 

        

        
~
**【準備完了】
+【Ubuntuの新機能】
~
#image(width=70%,first-logon-dialog-5.png,title=【準備完了】)
++[次へ]
~

         
+【Livepatch】
~
**初期状態のデスクトップとDash
++必要に応じて[Livepatchをセットアップ]をクリックする
~
#image(width=70%,first-logon-dialog-6.png,title=初期状態のデスクトップ)
+++セットアップする場合、Ubuntu Oneアカウントが要求されるので、アカウントを登録するか既存のアカウントで接続する
~
#image(width=70%,first-logon-dialog-7.png,title=初期状態のDash)
+【Ubuntuの改善を支援する】
-
++システム情報を送信するかどうかを選択して[次へ]
-
+【準備完了】
-
++[完了]
 

        

        
 

        

        
 

        

        
 
*設定ファイルの編集 [#Configure]
*設定ファイルの編集 [#Configure]
 
ターミナル・シェル・ネットワーク・その他システムの設定ファイルなどを初期設定する。
ターミナル・シェル・ネットワーク・その他システムの設定ファイルなどを初期設定する。
 

        

        
~
**ターミナル・シェル・エディタ周りの設定
**ターミナル・シェル・エディタ周りの設定 [#ConfigureTerminal]
 

        

        
~
***Gnome Terminalの設定 [#Configure_GnomeTerminal]
***ターミナル(Gnome Terminal)の設定
 
以下の内容で設定ファイルを用意しておく。 あるいはエクスポートしたものを用意しておく。
以下の内容で設定ファイルを用意しておく。 あるいはエクスポートしたものを用意しておく。
 

        

        
~
#code(,type=configuration,org-gnome-terminal.dconf){{
#code(,type=configuration,terminal.dconf){{
+
[legacy]
+
default-show-menubar=false
+
schema-version=uint32 3
+

         
 
[legacy/keybindings]
[legacy/keybindings]
 
paste='<Primary><Shift>v'
paste='<Primary><Shift>v'
 

        

        
 
[legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9]
[legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9]
~
background-color='rgb(25,26,59)'
foreground-color='rgb(211,215,207)'
~
background-transparency-percent=15
visible-name='default'
~
cursor-blink-mode='on'
palette=['rgb(46,52,54)', 'rgb(204,0,0)', 'rgb(78,154,6)', 'rgb(196,160,0)', 'rgb(52,101,164)', 'rgb(117,80,123)', 'rgb(6,152,154)', 'rgb(211,215,207)', 'rgb(85,87,83)', 'rgb(239,41,41)', 'rgb(138,226,52)', 'rgb(252,233,79)', 'rgb(114,159,207)', 'rgb(173,127,168)', 'rgb(52,226,226)', 'rgb(238,238,236)']
+
cursor-shape='block'
 
default-size-columns=110
default-size-columns=110
 
default-size-rows=20
default-size-rows=20
~
foreground-color='rgb(211,215,207)'
cursor-shape='block'
+
palette=['rgb(46,52,54)', 'rgb(204,0,0)', 'rgb(78,154,6)', 'rgb(196,160,0)', 'rgb(52,101,164)', 'rgb(117,80,123)', 'rgb(6,152,154)', 'rgb(211,215,207)', 'rgb(85,87,83)', 'rgb(239,41,41)', 'rgb(138,226,52)', 'rgb(252,233,79)', 'rgb(114,159,207)', 'rgb(173,127,168)', 'rgb(52,226,226)', 'rgb(238,238,236)']
+
text-blink-mode='always'
 
use-system-font=true
use-system-font=true
 
use-theme-colors=false
use-theme-colors=false
-
use-transparent-background=true
 
use-theme-transparency=false
use-theme-transparency=false
~
use-transparent-background=true
cursor-blink-mode='on'
~
visible-name='default'
background-color='rgb(25,26,59)'
-
background-transparency-percent=20
-
text-blink-mode='always'
-

         
-
[legacy]
-
schema-version=uint32 3
-
default-show-menubar=false
 
}}
}}
 

        

        
 
上記の設定ファイルをインポートする。
上記の設定ファイルをインポートする。
 

        

        
 
#code(sh,Gnome Terminal設定をファイルからインポートする){{
#code(sh,Gnome Terminal設定をファイルからインポートする){{
~
dconf load /org/gnome/terminal/ < org-gnome-terminal.dconf
dconf load /org/gnome/terminal/ < terminal.dconf
 
}}
}}
 

        

        
 
$remarks
$remarks
 
設定をエクスポートする場合は以下のようにする。
設定をエクスポートする場合は以下のようにする。
 

        

        
 
#code(sh,Gnome Terminal設定をファイルにエクスポートする){{
#code(sh,Gnome Terminal設定をファイルにエクスポートする){{
~
dconf dump /org/gnome/terminal/ > org-gnome-terminal.dconf
dconf dump /org/gnome/terminal/ > terminal.dconf
 
}}
}}
 
$remarks$
$remarks$
 

        

        
 

        

        
 

        

        
~
***Geditの設定 [#Configure_Gedit]
***テキストエディタ(Gedit)の設定
 
以下の内容で設定ファイルを用意しておく。 あるいはエクスポートしたものを用意しておく。
以下の内容で設定ファイルを用意しておく。 あるいはエクスポートしたものを用意しておく。
 

        

        
~
#code(,type=configuration,org-gnome-gedit.dconf){{
#code(,type=configuration,gedit.dconf){{
+
[plugins]
+
active-plugins=['drawspaces', 'git']
+

         
+
[plugins/drawspaces]
+
draw-spaces=['space', 'tab', 'nbsp', 'leading', 'text', 'trailing']
+

         
 
[preferences/editor]
[preferences/editor]
+
auto-indent=true
+
background-pattern='none'
+
bracket-matching=true
+
display-line-numbers=true
+
display-overview-map=true
 
display-right-margin=false
display-right-margin=false
+
editor-font='Noto Sans Mono CJK JP 10'
 
highlight-current-line=true
highlight-current-line=true
~
insert-spaces=true
display-overview-map=true
-
bracket-matching=true
 
scheme='oblivion'
scheme='oblivion'
 
tabs-size=uint32 2
tabs-size=uint32 2
-
editor-font='Noto Sans Mono CJK JP 10'
-
display-line-numbers=true
-
insert-spaces=true
-
background-pattern='none'
 
use-default-font=false
use-default-font=false
 
wrap-last-split-mode='word'
wrap-last-split-mode='word'
-
auto-indent=true
 

        

        
 
[preferences/ui]
[preferences/ui]
 
show-tabs-mode='auto'
show-tabs-mode='auto'
-

         
-
[plugins/drawspaces]
-
draw-spaces=['space', 'tab', 'nbsp', 'leading', 'text', 'trailing']
-

         
-
[plugins]
-
active-plugins=['git', 'drawspaces']
 
}}
}}
 

        

        
 
上記の設定ファイルをインポートする。
上記の設定ファイルをインポートする。
 

        

        
 
#code(sh,Gedit設定をファイルからインポートする){{
#code(sh,Gedit設定をファイルからインポートする){{
~
dconf load /org/gnome/gedit/ < org-gnome-gedit.dconf
dconf load /org/gnome/gedit/ < gedit.dconf
 
}}
}}
 

        

        
 
プラグインのインストール等はこのあと[[#install_necessary_packages]]で行う。
プラグインのインストール等はこのあと[[#install_necessary_packages]]で行う。
424,12 337,12
 
設定をエクスポートする場合は以下のようにする。
設定をエクスポートする場合は以下のようにする。
 

        

        
 
#code(sh,Gedit設定をファイルにエクスポートする){{
#code(sh,Gedit設定をファイルにエクスポートする){{
~
dconf dump /org/gnome/gedit/ > org-gnome-gedit.dconf
dconf dump /org/gnome/gedit/ > gedit.dconf
 
}}
}}
 
$remarks$
$remarks$
 

        

        
 

        

        
~
***デフォルトエディタ・vimの設定 [#Configure_Editor]
***デフォルトエディタを変更する
 
デフォルトのエディタをvimにする。
デフォルトのエディタをvimにする。
 

        

        
 
#prompt(emphasize=shell-unix,update-alternativesを使ってデフォルトエディタを変更する){{
#prompt(emphasize=shell-unix,update-alternativesを使ってデフォルトエディタを変更する){{
447,7 360,7
 
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.tiny を使います
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.tiny を使います
 
}}
}}
 

        

        
~
****~/.vimrc
***~/.vimrc
 
以下の内容で作成。
以下の内容で作成。
 

        

        
 
#code(,type=configuration,~/.vimrc){{
#code(,type=configuration,~/.vimrc){{
470,8 383,7
 
set smartindent
set smartindent
 
}}
}}
 

        

        
~
***Bashの設定(.bashrc, .bash_*) [#Configure_Bash]
***~/.bash_aliases, ~/.bashrc [#bashrc]
+
****~/.bash_aliases
 
``~/.bash_aliases``を作成して以下のエイリアスを書き込む。
``~/.bash_aliases``を作成して以下のエイリアスを書き込む。
 

        

        
 
#code(sh,type=configuration,~/.bash_aliases){{
#code(sh,type=configuration,~/.bash_aliases){{
524,21 436,15
 
}
}
 

        

        
 
function __prompt_status_time() {
function __prompt_status_time() {
~
  _ret=$?
  if [ $? = 0 ]; then
-
    echo -n '\[\e[1;32m\]✔'
-
  else
-
    echo -n '\[\e[1;31m\]✖'
-
  fi
 

        

        
~
  if [ -z "$__VSCODE_INTEGRATED_TERMINAL__" ]; then
  echo -n ' \t'
+
    if [ $_ret = 0 ]; then
+
      echo -n '\[\e[1;32m\]🟢'
+
    else
+
      echo -n '\[\e[1;31m\]🔴'
+
    fi
 

        

        
~
    echo -n ' \t'
  __prompt_reset_color
+

         
+
    __prompt_reset_color
+
  else
+
    echo -n '\t'
+
  fi
 
}
}
 

        

        
 
function __prompt_user_host_env() {
function __prompt_user_host_env() {
653,13 559,15
 
この設定では次のようなプロンプトを表示する。
この設定では次のようなプロンプトを表示する。
 

        

        
 
#figure-html(title=表示されるプロンプトの例){{{
#figure-html(title=表示されるプロンプトの例){{{
~
<pre>[<font color="#4E9A06"><b>🟢 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>&gt; <font color="#D3D7CF">~</font>]$ true
<div style="color: white; background-color: #000044;">
~
[<font color="#4E9A06"><b>🟢 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>&gt; <font color="#D3D7CF">~</font>]$ false
<pre>[<font color="#00CD00"><b>✔ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>user</b></font>@<font color="#00CDCD"><b>hostname</b></font>&gt; <font color="#E5E5E5">~</font>]$ ^C
~
[<font color="#CC0000"><b>🔴 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>&gt; <font color="#D3D7CF">~</font>]$ cd Desktop/
[<font color="#CD0000"><b>✖ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>user</b></font>@<font color="#00CDCD"><b>hostname</b></font>&gt; <font color="#E5E5E5">~</font>]$
~
[<font color="#4E9A06"><b>🟢 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>&gt; <font color="#D3D7CF">~/Desktop</font>]$ cd ~/gitdir/
[<font color="#00CD00"><b>✔ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>user</b></font>@<font color="#00CDCD"><b>hostname</b></font>&gt; <font color="#E5E5E5">~/Desktop</font>]$
~
[<font color="#4E9A06"><b>🟢 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>&gt; (<font color="#4E9A06">devel</font> <font color="#CC0000">%</font>) <font color="#D3D7CF">~/gitdir</font>]$ source /opt/dotnet/env 
[<font color="#00CD00"><b>✔ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>user</b></font>@<font color="#00CDCD"><b>hostname</b></font>&gt; (<font color="#00CD00">devel</font> <font color="#0000EE"><b>$</b></font>) <font color="#E5E5E5">~/git</font>]$ cd ../
~
[<font color="#4E9A06"><b>🟢 00:00:00</b></font> &lt;<font color="#C4A000"><b>smdn</b></font>@<font color="#06989A"><b>hostname</b></font>%<font color="#75507B"><b>.NET:/opt/dotnet</b></font>&gt; (<font color="#4E9A06">devel</font> <font color="#CC0000">%</font>) <font color="#D3D7CF">~/gitdir</font>]$ 
[<font color="#00CD00"><b>✔ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>user</b></font>@<font color="#00CDCD"><b>hostname</b></font>%<font color="#CD00CD"><b>.NET:/home/user/dotnet</b></font>&gt; <font color="#E5E5E5">~</font>]$ 
-
<pre>[<font color="#00CD00"><b>✔ 10:10:10</b></font> &lt;<font color="#CDCD00"><b>root</b></font>@<font color="#00CDCD"><b>hostname</b></font>&gt; <font color="#E5E5E5">~</font>]<font color="#CD0000"><b>#</b></font></pre>
 
</pre>
</pre>
-
</div>
 
}}}
}}}
 

        

        
 
$remarks
$remarks
677,16 585,9
 
$relevantdocs$
$relevantdocs$
 

        

        
 

        

        
+
**ファイルシステムの設定 [#Configure_FileSystem]
+
RAIDアレイ(``mdadm``)・LVMの設定、パーティション作成・確認等については[[#Installation_Preparation]]を参照。
+

         
+
***/etc/fstab
+
マウントポイントを作成し、必要に応じてパーティションを追記。
+

         
+

         
 

        

        
~
**ネットワークの設定 [#Configure_Network]
**ネットワークの設定 [#ConfigureNetwork]
~
以下は、NetworkManagerを無効にしてsystemd-networkdによる管理に切り替え、静的IPアドレスでのネットワークを設定する手順。
以下は、NetworkManagerを無効にしてsystemd-networkdによる管理を行い静的IPアドレスでのネットワークを設定する手順。
 

        

        
 
$relevantdocs(関連)
$relevantdocs(関連)
 

        

        
696,16 597,23
 

        

        
 
***NetworkManagerによる管理を無効にする
***NetworkManagerによる管理を無効にする
 

        

        
~
NetworkManager用のnetplan設定ファイルを無効化する。
NetworkManagerを無効にする。
 

        

        
~
#code(sh,NetworkManager設定ファイルの無効化){{
#code(sh,NetworkManagerの無効化){{
~
sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.disabled
sudo systemctl disable network-manager
-
echo "manual" | sudo tee /etc/init/network-manager.override
 
}}
}}
 

        

        
~
NetworkManagerを無効にしてもトップバーやメニュー等にネットワーク設定が表示される箇所が残るので、それらを非表示にする場合は``nmcli``でオフにする。
NetworkManager用のnetplan設定ファイルを削除する。 (以降の設定用に流用して書き換える場合はリネームする。)
-

         
-
#code(sh,NetworkManager設定ファイルの削除){{
-
sudo rm /etc/netplan/01-network-manager-all.yaml
-
}}
-

         
-
NetworkManagerを無効にしてもトップバーやメニュー等にネットワーク設定が表示される箇所が残るので、それらも削除する場合は``nmcli``でオフにする。
 

        

        
 
#code(sh){{
#code(sh){{
~
sudo nmcli networking off
nmcli networking off
 
}}
}}
 

        

        
 
これにより``nmcli general``で表示される```STATE```が休止中となる。
これにより``nmcli general``で表示される```STATE```が休止中となる。
716,64 624,32
 
休止中  なし          有効     有効  有効     有効
休止中  なし          有効     有効  有効     有効
 
}}
}}
 

        

        
~

         
***ネットワークインターフェイスを設定する [#ConfigureNetwork_netplan]
+

         
+
***systemd-networkdを有効にする
+
#prompt(emphasize=shell-unix){{
+
$ sudo systemctl enable systemd-networkd
+
Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service.
+
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service.
+
Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket.
+
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-network-generator.service → /lib/systemd/system/systemd-network-generator.service.
+
Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service.
+
}}
+

         
+

         
+

         
+
***ネットワークインターフェイスを設定する [#Configure_Network_netplan]
 
ネットワークインターフェイスとデバイス名を確認する。 設定するデバイス名が既知の場合は``networkctl status &var{デバイス名};``とする。 すべてのデバイスを表示する場合はデバイス名の代わりに``-a``オプションを指定する。
ネットワークインターフェイスとデバイス名を確認する。 設定するデバイス名が既知の場合は``networkctl status &var{デバイス名};``とする。 すべてのデバイスを表示する場合はデバイス名の代わりに``-a``オプションを指定する。
 

        

        
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ networkctl status -a
$ networkctl status -a
~
● 1: lo                         
● 1: lo
~
                     Link File: n/a
       Link File: n/a
~
                  Network File: n/a
    Network File: n/a
~
                          Type: loopback
            Type: loopback
~
                         State: n/a (unmanaged)
           State: carrier (unmanaged)
~
                  Online state: unknown
         Address: 127.0.0.1
~
                    HW Address: 00:00:00:00:00:00
                  ::1
~
                           MTU: 65536

         
~
                         QDisc: noqueue
● 2: enp1s0
~
  IPv6 Address Generation Mode: eui64
       Link File: n/a
~
          Queue Length (Tx/Rx): 1/1
    Network File: /run/systemd/network/10-netplan-enp1s0.network
~
                       Address: 127.0.0.1
            Type: ether
~
                                ::1
           State: routable (configured)
~
             Activation Policy: up
            Path: *********
~
           Required For Online: yes
          Vendor: *********
~

         
           Model: *********
~
● 2: enp1s0                     
      HW Address: **:**:**:**:**:**
~
                     Link File: /usr/lib/systemd/network/99-default.link
         Address: 192.168.0.10
~
                  Network File: n/a
                  xxxx::xxxx:xxxx:xxxx:xxxx
~
                          Type: ether
         Gateway: 192.168.0.1
~
                         State: n/a (unmanaged)
             DNS: 192.168.0.1
+
                  Online state: unknown
+
                          Path: XXXXXXXXXXXX
+
                        Driver: XXXXXXXXXXXX
+
                        Vendor: XXXXXXXXXXXXXXXXXXXX
+
                         Model: XXXXXXXXXXXXXXXXXXXX
+
                    HW Address: xx:xx:xx:xx:xx:xx (XXXXXXXXXXXXXXXXXXXX)
+
                           MTU: 1500 (min: XXXX, max: XXXX)
+
                         QDisc: fq_codel
+
  IPv6 Address Generation Mode: none
+
          Queue Length (Tx/Rx): 1/1
+
              Auto negotiation: yes
+
                         Speed: 100Mbps
+
                        Duplex: full
+
                          Port: tp
+
                       Address: XXX.XXX.XXX.XXX
+
                       Gateway: XXX.XXX.XXX.XXX
+
             Activation Policy: up
+
           Required For Online: yes
 
}}
}}
 

        

        
 
$remarks
$remarks
791,11 667,9
 
  ethernets:
  ethernets:
 
    enp1s0:
    enp1s0:
 
      addresses: [192.168.0.10/24]
      addresses: [192.168.0.10/24]
~
      routes:
      gateway4: 192.168.0.1
+
        - to: default
+
          via: 192.168.0.1
 
      nameservers:
      nameservers:
~
        addresses: [192.168.0.1, 8.8.8.8]
        addresses: [192.168.0.1]
 
      dhcp4: false
      dhcp4: false
 
      dhcp6: false
      dhcp6: false
 
}}
}}
816,7 690,6
 
netmask 255.255.255.0
netmask 255.255.255.0
 
gateway 192.168.0.1
gateway 192.168.0.1
 
dns-nameservers 192.168.0.1
dns-nameservers 192.168.0.1
+
dns-nameservers 8.8.8.8
 
}}
}}
 
$remarks$
$remarks$
 

        

        
827,14 700,14
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ sudo netplan --debug generate 
$ sudo netplan --debug generate 
 
DEBUG:command generate: running ['/lib/netplan/generate']
DEBUG:command generate: running ['/lib/netplan/generate']
~
** (generate:11571): DEBUG: 00:09:58.611: starting new processing pass
** (generate:4267): DEBUG: 18:12:29.522: Processing input file /etc/netplan/01-netcfg.yaml..
~
** (generate:11571): DEBUG: 00:09:58.611: enp1s0: adding new route
** (generate:4267): DEBUG: 18:12:29.522: starting new processing pass
~
** (generate:11571): DEBUG: 00:09:58.611: We have some netdefs, pass them through a final round of validation
** (generate:4267): DEBUG: 18:12:29.522: We have some netdefs, pass them through a final round of validation
~
** (generate:11571): DEBUG: 00:09:58.611: enp1s0: setting default backend to 1
** (generate:4267): DEBUG: 18:12:29.522: enp1s0: setting default backend to 1
~
** (generate:11571): DEBUG: 00:09:58.611: Configuration is valid
** (generate:4267): DEBUG: 18:12:29.522: Configuration is valid
~
** (generate:11571): DEBUG: 00:09:58.612: Generating output files..
** (generate:4267): DEBUG: 18:12:29.522: Generating output files..
~
** (generate:11571): DEBUG: 00:09:58.612: openvswitch: definition enp1s0 is not for us (backend 1)
** (generate:4267): DEBUG: 18:12:29.522: NetworkManager: definition enp1s0 is not for us (backend 1)
~
** (generate:11571): DEBUG: 00:09:58.612: NetworkManager: definition enp1s0 is not for us (backend 1)
(generate:4267): GLib-DEBUG: 18:12:29.523: posix_spawn avoided (fd close requested) 
 

        

        
 
$ sudo netplan apply
$ sudo netplan apply
 
}}
}}
843,30 716,19
 

        

        
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ networkctl status enp1s0
$ networkctl status enp1s0
~
● 2: enp1s0                     
● 2: enp1s0
~
                     Link File: /usr/lib/systemd/network/99-default.link
       Link File: n/a
~
                  Network File: /run/systemd/network/10-netplan-enp1s0.network
    Network File: /run/systemd/network/10-netplan-enp1s0.network
~
                          Type: ether
            Type: ether
~
                         State: routable (configured)
           State: routable (configured)
~
                  Online state: online
            Path: *********
~
                          Path: XXXXXXXXXXXX
          Vendor: *********
~
                        Driver: XXXXXXXXXXXX
           Model: *********
~
                        Vendor: XXXXXXXXXXXXXXXXXXXX
      HW Address: **:**:**:**:**:**
~
                         Model: XXXXXXXXXXXXXXXXXXXX
         Address: 192.168.0.10
~
                    HW Address: xx:xx:xx:xx:xx:xx (XXXXXXXXXXXXXXXXXXXX)
                  xxxx::xxxx:xxxx:xxxx:xxxx
~
                           MTU: 1500 (min: XXXX, max: XXXX)
         Gateway: 192.168.0.1
~
                         QDisc: fq_codel
             DNS: 192.168.0.1
+
          Queue Length (Tx/Rx): 1/1
+
              Auto negotiation: yes
+
                         Speed: 100Mbps
+
                        Duplex: full
+
                          Port: tp
+
                       Address: 192.168.0.10
+
                       Gateway: 192.168.0.1
+
                           DNS: 192.168.0.1
+
                                8.8.8.8
+
             Activation Policy: up
+
           Required For Online: yes
 
}}
}}
 

        

        
 
あるいは``ip``コマンドを使って``ip address``とすればすべてのネットワークインターフェイスとアドレスの情報を確認することができる。 ``ip address show dev enp1s0``とすれば特定のインターフェイスのみ確認できる。
あるいは``ip``コマンドを使って``ip address``とすればすべてのネットワークインターフェイスとアドレスの情報を確認することができる。 ``ip address show dev enp1s0``とすれば特定のインターフェイスのみ確認できる。
874,35 736,23
 
#prompt(emphasize=shell-unix,ip addressの出力例){{
#prompt(emphasize=shell-unix,ip addressの出力例){{
 
$ ip address show dev enp1s0
$ ip address show dev enp1s0
 
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
~
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
 
    inet 192.168.0.10/24 brd 192.168.0.255 scope global enp1s0
    inet 192.168.0.10/24 brd 192.168.0.255 scope global enp1s0
 
       valid_lft forever preferred_lft forever
       valid_lft forever preferred_lft forever
-
    inet6 ffff::ffff:ffff:ffff:ffff/64 scope link 
-
       valid_lft forever preferred_lft forever
 
}}
}}
 

        

        
 

        

        
+
また、``nmcli general``で表示される```STATE```が```休止中```となるが、```CONNECTIVITY```は```完全```になる。
+

         
+
#prompt(emphasize=shell-unix){{
+
$ nmcli general
+
STATE   CONNECTIVITY  WIFI-HW  WIFI  WWAN-HW  WWAN 
+
休止中  完全          有効     有効  有効     有効 
+
}}
+

         
+
以降、NetworkManagerは不要となる。 インストールされているパッケージも不要ならば、削除する。
+

         
+
#code(sh,NetworkManagerの完全削除){{
+
sudo apt purge network-manager
+
}}
+

         
 

        

        
~
***ブリッジ接続を設定する [#Configure_Network_Bridge]
***ブリッジ接続を設定する
 
仮想マシンのネットワークで使用するブリッジを設定する。 まずは``bridge-utils``をインストールしておく。
仮想マシンのネットワークで使用するブリッジを設定する。 まずは``bridge-utils``をインストールしておく。
 

        

        
 
#code(sh,bridge-utilsのインストール){{
#code(sh,bridge-utilsのインストール){{
 
sudo apt install bridge-utils
sudo apt install bridge-utils
 
}}
}}
 

        

        
~
[[先に作成した>#Configure_Network_netplan]]``/etc/netplan/01-netcfg.yaml``を変更してブリッジ設定を記述する。 ここではブリッジ名を``br0``とする。
[[先に作成した>#ConfigureNetwork_netplan]]``/etc/netplan/01-netcfg.yaml``を変更してブリッジ設定を記述する。 ここではブリッジ名を``br0``とする。
 

        

        
 
#code(,type=configuration,/etc/netplan/01-netcfg.yaml){{
#code(,type=configuration,/etc/netplan/01-netcfg.yaml){{
 
network:
network:
918,7 768,7
 
      addresses: [192.168.0.10/24]
      addresses: [192.168.0.10/24]
 
      gateway4: 192.168.0.1
      gateway4: 192.168.0.1
 
      nameservers:
      nameservers:
~
        addresses: [192.168.0.1, 8.8.8.8]
        addresses: [192.168.0.1]
 
      dhcp4: false
      dhcp4: false
 
      dhcp6: false
      dhcp6: false
 
      parameters:
      parameters:
952,7 802,6
 
netmask 255.255.255.0
netmask 255.255.255.0
 
gateway 192.168.0.1
gateway 192.168.0.1
 
dns-nameservers 192.168.0.1
dns-nameservers 192.168.0.1
+
dns-nameservers 8.8.8.8
 
bridge_ports enp1s0
bridge_ports enp1s0
 
bridge_stp off
bridge_stp off
 
bridge_maxwait 1
bridge_maxwait 1
966,18 815,17
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ sudo netplan --debug generate
$ sudo netplan --debug generate
 
DEBUG:command generate: running ['/lib/netplan/generate']
DEBUG:command generate: running ['/lib/netplan/generate']
~
** (generate:12145): DEBUG: 00:17:59.399: starting new processing pass
** (generate:5168): DEBUG: 18:16:03.708: Processing input file /etc/netplan/01-netcfg.yaml..
~
** (generate:12145): DEBUG: 00:17:59.399: br0: adding new route
** (generate:5168): DEBUG: 18:16:03.708: starting new processing pass
~
** (generate:12145): DEBUG: 00:17:59.399: We have some netdefs, pass them through a final round of validation
** (generate:5168): DEBUG: 18:16:03.708: We have some netdefs, pass them through a final round of validation
~
** (generate:12145): DEBUG: 00:17:59.399: br0: setting default backend to 1
** (generate:5168): DEBUG: 18:16:03.708: br0: setting default backend to 1
~
** (generate:12145): DEBUG: 00:17:59.399: Configuration is valid
** (generate:5168): DEBUG: 18:16:03.708: Configuration is valid
~
** (generate:12145): DEBUG: 00:17:59.399: enp1s0: setting default backend to 1
** (generate:5168): DEBUG: 18:16:03.708: enp1s0: setting default backend to 1
~
** (generate:12145): DEBUG: 00:17:59.399: Configuration is valid
** (generate:5168): DEBUG: 18:16:03.708: Configuration is valid
~
** (generate:12145): DEBUG: 00:17:59.400: Generating output files..
** (generate:5168): DEBUG: 18:16:03.708: Generating output files..
~
** (generate:12145): DEBUG: 00:17:59.400: openvswitch: definition enp1s0 is not for us (backend 1)
** (generate:5168): DEBUG: 18:16:03.709: NetworkManager: definition enp1s0 is not for us (backend 1)
~
** (generate:12145): DEBUG: 00:17:59.400: NetworkManager: definition enp1s0 is not for us (backend 1)
** (generate:5168): DEBUG: 18:16:03.709: NetworkManager: definition br0 is not for us (backend 1)
~
** (generate:12145): DEBUG: 00:17:59.400: openvswitch: definition br0 is not for us (backend 1)
(generate:5168): GLib-DEBUG: 18:16:03.709: posix_spawn avoided (fd close requested) 
+
** (generate:12145): DEBUG: 00:17:59.400: NetworkManager: definition br0 is not for us (backend 1)
 

        

        
 
$ sudo netplan apply
$ sudo netplan apply
 
}}
}}
986,58 834,42
 

        

        
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ networkctl status enp1s0 br0
$ networkctl status enp1s0 br0
~
● 2: enp1s0                     
● 2: enp1s0                                                                      
~
                     Link File: /usr/lib/systemd/network/99-default.link
             Link File: /usr/lib/systemd/network/99-default.link                 
~
                  Network File: /run/systemd/network/10-netplan-enp1s0.network
          Network File: /run/systemd/network/10-netplan-enp1s0.network           
~
                          Type: ether
                  Type: ether                                                    
~
                         State: enslaved (configured)
                 State: enslaved (configured)                                    
~
                  Online state: online
                  Path: ********:**:**.*                                         
~
                          Path: XXXXXXXXXXXX
                Driver: ***********                                              
~
                        Driver: XXXXXXXXXXXX
                Vendor: ***********************************************************
~
                        Vendor: XXXXXXXXXXXXXXXXXXXX
                 Model: ***********************************************************
~
                         Model: XXXXXXXXXXXXXXXXXXXX
            HW Address: **:**:**:**:**:**
~
                    HW Address: xx:xx:xx:xx:xx:xx (XXXXXXXXXXXXXXXXXXXX)
                   MTU: 1500 (min: 60, max: 9200)                                
~
                           MTU: 1500 (min: XXXX, max: XXXX)
  Queue Length (Tx/Rx): 1/1                                                      
~
                         QDisc: fq_codel
      Auto negotiation: yes                                                      
~
                        Master: br0
                 Speed: 100Mbps                                                  
~
  IPv6 Address Generation Mode: none
                Duplex: full                                                     
~
          Queue Length (Tx/Rx): 1/1
                  Port: mii   
~
              Auto negotiation: yes

         
~
                         Speed: 100Mbps
● 3: br0                                                               
~
                        Duplex: full
               Link File: /usr/lib/systemd/network/99-default.link     
~
                          Port: tp
            Network File: /run/systemd/network/10-netplan-br0.network  
~
             Activation Policy: up
                    Type: bridge                                       
~
           Required For Online: yes
                   State: routable (configured)                        
~

         
                  Driver: bridge                                       
~
● 3: br0                        
              HW Address: **:**:**:**:**:**                            
~
                     Link File: /usr/lib/systemd/network/99-default.link
                     MTU: 1500 (min: 68, max: 65535)                   
~
                  Network File: /run/systemd/network/10-netplan-br0.network
           Forward Delay: 0                                            
~
                          Type: bridge
              Hello Time: 2s                                           
~
                         State: routable (configured)
                 Max Age: 20s                                          
~
                  Online state: online
             Ageing Time: 5min                                         
~
                        Driver: bridge
                Priority: 32768                                        
~
                    HW Address: xx:xx:xx:xx:xx:xx
                     STP: no                                           
~
                           MTU: 1500 (min: XXXX, max: XXXX)
  Multicast IGMP Version: 2                                            
~
                         QDisc: noqueue
    Queue Length (Tx/Rx): 1/1                                          
~
  IPv6 Address Generation Mode: eui64
                 Address: 192.168.0.10                                
~
                 Forward Delay: 0
                 Gateway: 192.168.0.1                                  
~
                    Hello Time: 2s
                     DNS: 192.168.0.1   
+
                       Max Age: 20s
+
                   Ageing Time: 5min
+
                      Priority: 32768
+
                           STP: no
+
        Multicast IGMP Version: 2
+
                          Cost: 2000
+
                    Port State: disabled
+
          Queue Length (Tx/Rx): 1/1
+
              Auto negotiation: no
+
                         Speed: 100Mbps
+
                       Address: 192.168.0.10
+
                       Gateway: 192.168.0.1
+
                           DNS: 192.168.0.1
+
                                8.8.8.8
+
             Activation Policy: up
+
           Required For Online: yes
 
}}
}}
 

        

        
 
あるいは``ip``コマンドを使って確認する。
あるいは``ip``コマンドを使って確認する。
1045,11 877,11
 
#prompt(emphasize=shell-unix,ip addressの出力例){{
#prompt(emphasize=shell-unix,ip addressの出力例){{
 
$ ip address show dev enp1s0
$ ip address show dev enp1s0
 
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
~
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
 

        

        
 
$ ip address show dev br0 
$ ip address show dev br0 
 
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
~
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
 
    inet 192.168.0.10/24 brd 192.168.0.255 scope global br0
    inet 192.168.0.10/24 brd 192.168.0.255 scope global br0
 
       valid_lft forever preferred_lft forever
       valid_lft forever preferred_lft forever
 
}}
}}
1071,22 903,10
 

        

        
 

        

        
 
***GRUBを設定する [#configure_grub]
***GRUBを設定する [#configure_grub]
~
``/etc/default/grub``を以下のように編集する。
``/etc/default/grub``を編集する。 変更内容は次のとおり。
+

         
+
#code(,type=configuration,/etc/default/grub){{
+
GRUB_DEFAULT=0
+
GRUB_TIMEOUT_STYLE=menu
+
GRUB_TIMEOUT=3
+
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT
+
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 noquiet nosplash intel_iommu=on"
+
GRUB_CMDLINE_LINUX="ipv6.disable=1"
+
}}
+

         
+
ここでの変更内容は次のとおり。
 

        

        
 
:``GRUB_TIMEOUT_STYLE``を``hidden``から``menu``に変更|GRUB起動メニューを表示する
:``GRUB_TIMEOUT_STYLE``を``hidden``から``menu``に変更|GRUB起動メニューを表示する
~
:``GRUB_TIMEOUT``を``3``に変更&br;``GRUB_RECORDFAIL_TIMEOUT``に``$GRUB_TIMEOUT``を追加|GRUB起動メニューでのタイムアウト時間を3秒にする
:``GRUB_TIMEOUT``を``5``に変更&br;``GRUB_RECORDFAIL_TIMEOUT``に``$GRUB_TIMEOUT``を追加|GRUB起動メニューでのタイムアウト時間を5秒にする
 
:``GRUB_CMDLINE_LINUX_DEFAULT``を``"quiet splash"``から``"ipv6.disable=1 noquiet nosplash intel_iommu=on"``に変更|
:``GRUB_CMDLINE_LINUX_DEFAULT``を``"quiet splash"``から``"ipv6.disable=1 noquiet nosplash intel_iommu=on"``に変更|
 
::``ipv6.disable=1``|IPv6を無効にする
::``ipv6.disable=1``|IPv6を無効にする
 
::``noquiet nosplash``|ブート中に表示される内容をスプラッシュ画面からテキスト表示にする
::``noquiet nosplash``|ブート中に表示される内容をスプラッシュ画面からテキスト表示にする
1095,24 915,25
 
:``GRUB_CMDLINE_LINUX``を``"ipv6.disable=1"``に変更|
:``GRUB_CMDLINE_LINUX``を``"ipv6.disable=1"``に変更|
 
::``ipv6.disable=1``|IPv6を無効にする
::``ipv6.disable=1``|IPv6を無効にする
 

        

        
-
#code(,type=configuration,/etc/default/grub){{
-
GRUB_DEFAULT=0
-
GRUB_TIMEOUT_STYLE=menu
-
GRUB_TIMEOUT=5
-
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT
-
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 noquiet nosplash intel_iommu=on"
-
GRUB_CMDLINE_LINUX="ipv6.disable=1"
-
}}
 

        

        
 
編集が終わったら、``update-grub2``で設定を反映させる。
編集が終わったら、``update-grub2``で設定を反映させる。
 

        

        
 
#prompt(emphasize=shell-unix,update-grub2の実行例){{
#prompt(emphasize=shell-unix,update-grub2の実行例){{
 
$ sudo update-grub2 
$ sudo update-grub2 
+
Sourcing file `/etc/default/grub'
+
Sourcing file `/etc/default/grub.d/init-select.cfg'
 
Generating grub configuration file ...
Generating grub configuration file ...
~
Found linux image: /boot/vmlinuz-5.15.0-47-generic
Linux イメージを見つけました: /boot/vmlinuz-4.15.0-20-generic
~
Found initrd image: /boot/initrd.img-5.15.0-47-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
~
Found linux image: /boot/vmlinuz-5.15.0-43-generic
Adding boot menu entry for EFI firmware configuration
~
Found initrd image: /boot/initrd.img-5.15.0-43-generic
完了
+
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
+
Warning: os-prober will not be executed to detect other bootable partitions.
+
Systems on them will not be added to the GRUB boot configuration.
+
Check GRUB_DISABLE_OS_PROBER documentation entry.
+
Adding boot menu entry for UEFI Firmware Settings ...
+
done
 
}}
}}
 

        

        
 
$relevantdocs(関連)
$relevantdocs(関連)
1149,6 970,10
 
``sysctl -p``を実行すると変更した内容が表示される。 また、現在の設定値は``cat /proc/sys/vm/swappiness``で確認できる。
``sysctl -p``を実行すると変更した内容が表示される。 また、現在の設定値は``cat /proc/sys/vm/swappiness``で確認できる。
 
$remarks$
$remarks$
 

        

        
-
$remarks
-
関連: [[#disable_ipv6]]
-
$remarks$
-

         
 
$relevantdocs(参考)
$relevantdocs(参考)
 

        

        
 
-[[SwapFaq - Community Help Wiki | What is swappiness and how do I change it?:https://help.ubuntu.com/community/SwapFaq#What_is_swappiness_and_how_do_I_change_it.3F]]
-[[SwapFaq - Community Help Wiki | What is swappiness and how do I change it?:https://help.ubuntu.com/community/SwapFaq#What_is_swappiness_and_how_do_I_change_it.3F]]
1160,13 985,14
 

        

        
 

        

        
 

        

        
~
**その他の設定 [#Configure_Misc]
**その他設定ファイル等の編集 [#ConfigureMisc]
 

        

        
 

        

        
 
***/etc/hosts
***/etc/hosts
 
必要に応じてホストを追記。
必要に応じてホストを追記。
 

        

        
~

         
***/etc/fstab
-
マウントポイントを作成し、必要に応じてパーティションを追記。
 

        

        
 
***一般ユーザー・グループを追加する
***一般ユーザー・グループを追加する
 
必要に応じて追加する。
必要に応じて追加する。
1187,8 1013,6
 
groups <user>
groups <user>
 
}}
}}
 

        

        
+

         
+

         
 
*ソフトウェアの追加と削除 [#SoftwarePackages]
*ソフトウェアの追加と削除 [#SoftwarePackages]
 
アップグレードする場合や、他の環境から移行する場合は、事前に必要になるソフトウェア・不要なソフトウェアの一覧を作成しておくとよい。 ``/var/log/apt/history.log``にはaptでの操作の履歴が記録されているので、それを元に要・不要の判断およびリストアップをすることができる。
アップグレードする場合や、他の環境から移行する場合は、事前に必要になるソフトウェア・不要なソフトウェアの一覧を作成しておくとよい。 ``/var/log/apt/history.log``にはaptでの操作の履歴が記録されているので、それを元に要・不要の判断およびリストアップをすることができる。
 

        

        
1201,30 1025,27
 
grep "Install:" /var/log/apt/history.log
grep "Install:" /var/log/apt/history.log
 
}}
}}
 

        

        
~
**aptパッケージの削除・インストール [#manage_apt_packages]
**パッケージの削除・インストール
~
***不要なaptパッケージを削除する [#remove_unnecessary_packages]
***不要なパッケージを削除する [#remove_unnecessary_packages]
 
以下のコマンドで一括して削除する。 削除目的等については省略。
以下のコマンドで一括して削除する。 削除目的等については省略。
 

        

        
~
#code(sh,不要なaptパッケージの削除){{
#code(sh,不要なパッケージの削除){{
 
sudo apt purge \
sudo apt purge \
 
  aspell aspell-en \
  aspell aspell-en \
 
  bluez bluez-cups bluez-obexd \
  bluez bluez-cups bluez-obexd \
~
  cups cups-browsed cups-bsd cups-client cups-common cups-core-drivers cups-daemon cups-filters* cups-ipp-utils cups-pk-helper cups-server-common foomatic-db-compressed-ppds ipp-usb \
  cups cups-browsed cups-bsd cups-client cups-common cups-core-drivers cups-daemon cups-server-common \
~
  enchant-2 \
  enchant \
 
  '^espeak(-.*)?' \
  '^espeak(-.*)?' \
+
  ftp tnftp \
 
  gnome-accessibility-themes \
  gnome-accessibility-themes \
 
  gnome-online-accounts \
  gnome-online-accounts \
 
  hplip hplip-data '^printer-driver-.*' \
  hplip hplip-data '^printer-driver-.*' \
 
  modemmanager \
  modemmanager \
 
  ntfs-3g '^libntfs-.*' \
  ntfs-3g '^libntfs-.*' \
 
  nano \
  nano \
+
  network-manager \
 
  openprinting-ppds \
  openprinting-ppds \
~
  ppp pptp-linux \
  ppp pppconfig pppoeconf \
+
  rygel \
 
  sane-utils libsane-hpaio \
  sane-utils libsane-hpaio \
~
  speech-dispatcher speech-dispatcher-audio-plugins \
  usbmuxd \
 
  wamerican wbritish
  wamerican wbritish
 
}}
}}
 

        

        
1232,18 1053,14
 

        

        
 
#prompt{{
#prompt{{
 
以下のパッケージは「削除」されます:
以下のパッケージは「削除」されます:
~
  aspell* aspell-en* bluez* bluez-cups* bluez-obexd* cups* cups-browsed* cups-bsd* cups-client* cups-common* cups-core-drivers* cups-daemon* cups-ppdc*
  aspell* aspell-en* bluez* bluez-cups* bluez-obexd* cups* cups-browsed* cups-bsd* cups-client* cups-common* cups-core-drivers*
~
  cups-server-common* enchant-2* espeak-ng-data* ftp* gnome-accessibility-themes* gnome-bluetooth* gnome-online-accounts* hplip* hplip-data*
  cups-daemon* cups-ppdc* cups-server-common* espeak-ng-data* gnome-accessibility-themes* gnome-bluetooth*
~
  libespeak-ng1* libntfs-3g89* libsane-hpaio* modemmanager* nano* network-manager* network-manager-config-connectivity-ubuntu* network-manager-gnome*
  gnome-online-accounts* hplip* hplip-data* libespeak-ng1* libntfs-3g883* libsane-hpaio* modemmanager* nano*
~
  network-manager-openvpn* network-manager-openvpn-gnome* network-manager-pptp* network-manager-pptp-gnome* ntfs-3g* openprinting-ppds* ppp*
  network-manager-pptp* network-manager-pptp-gnome* ntfs-3g* openprinting-ppds* ppp* pptp-linux* printer-driver-brlaser*
~
  pptp-linux* printer-driver-brlaser* printer-driver-c2esp* printer-driver-foo2zjs* printer-driver-foo2zjs-common* printer-driver-hpcups*
  printer-driver-c2esp* printer-driver-foo2zjs* printer-driver-foo2zjs-common* printer-driver-hpcups* printer-driver-m2300w*
~
  printer-driver-m2300w* printer-driver-min12xxw* printer-driver-pnm2ppa* printer-driver-postscript-hp* printer-driver-ptouch* printer-driver-pxljr*
  printer-driver-min12xxw* printer-driver-pnm2ppa* printer-driver-postscript-hp* printer-driver-ptouch* printer-driver-pxljr*
~
  printer-driver-sag-gdi* printer-driver-splix* pulseaudio-module-bluetooth* sane-utils* speech-dispatcher-espeak-ng* tnftp* ubuntu-desktop*
  printer-driver-sag-gdi* printer-driver-splix* pulseaudio-module-bluetooth* sane-utils* speech-dispatcher-espeak-ng*
~
  ubuntu-desktop-minimal* ubuntu-standard* wamerican* wbritish*
  ubuntu-desktop* ubuntu-desktop-minimal* usbmuxd* wamerican* wbritish*
+
以下のパッケージは「削除」されます:
+
  cups-filters* cups-filters-core-drivers* cups-ipp-utils* cups-pk-helper* foomatic-db-compressed-ppds* ipp-usb*
+
以下のパッケージは「削除」されます:
+
  orca* rygel* speech-dispatcher* speech-dispatcher-audio-plugins*
 
}}
}}
 

        

        
 
各パッケージの概要は次のとおり。
各パッケージの概要は次のとおり。
1262,104 1079,96
 
|``cups-common``|Common UNIX Printing System(tm) - common files|
|``cups-common``|Common UNIX Printing System(tm) - common files|
 
|``cups-core-drivers``|Common UNIX Printing System(tm) - driverless printing|
|``cups-core-drivers``|Common UNIX Printing System(tm) - driverless printing|
 
|``cups-daemon``|Common UNIX Printing System(tm) - daemon|
|``cups-daemon``|Common UNIX Printing System(tm) - daemon|
+
|``cups-filters*``|OpenPrinting CUPS フィルタ - メインパッケージ|
+
|``cups-ipp-utils``|Common UNIX Printing System(tm) - IPP developer/admin utilities|
+
|``cups-pk-helper``|cups の細かい権限設定を行なうための PolicyKit ヘルパー|
 
|``cups-server-common``|Common UNIX Printing System(tm) - server common files|
|``cups-server-common``|Common UNIX Printing System(tm) - server common files|
~
|``foomatic-db-compressed-ppds``|OpenPrinting プリンタサポート - データベースから派生した圧縮 PPD|
|``enchant``|各種スペルチェッカエンジンへのラッパー (バイナリプログラム)|
+
|``ipp-usb``|Daemon for IPP over USB printer support|
+
|``enchant-2``|各種スペルチェッカエンジンへのラッパー (バイナリプログラム)|
 
|``'^espeak(-.*)?'``|speech data files|
|``'^espeak(-.*)?'``|speech data files|
+
|``ftp``|dummy transitional package for tnftp|
+
|``tnftp``|enhanced ftp client|
 
|``gnome-accessibility-themes``|High Contrast GTK+ 2 theme and icons|
|``gnome-accessibility-themes``|High Contrast GTK+ 2 theme and icons|
 
|``gnome-online-accounts``|service to manage online accounts for the GNOME desktop|
|``gnome-online-accounts``|service to manage online accounts for the GNOME desktop|
 
|``hplip``|HP Linux Printing and Imaging System (HPLIP)|
|``hplip``|HP Linux Printing and Imaging System (HPLIP)|
 
|``hplip-data``|HP Linux Printing and Imaging - データファイル|
|``hplip-data``|HP Linux Printing and Imaging - データファイル|
~
|``'^printer-driver-.*'``|printer driver for HP-GDI printers|
|``'^printer-driver-.*'``|printer drivers metapackage|
 
|``modemmanager``|モデムを管理する D-Bus サービス|
|``modemmanager``|モデムを管理する D-Bus サービス|
 
|``ntfs-3g``|FUSE 用の読み書き可能な NTFS ドライバ|
|``ntfs-3g``|FUSE 用の読み書き可能な NTFS ドライバ|
 
|``'^libntfs-.*'``|FUSE 用 NTFS 読み書きドライバ (ランタイムライブラリ)|
|``'^libntfs-.*'``|FUSE 用 NTFS 読み書きドライバ (ランタイムライブラリ)|
 
|``nano``|Pico にヒントを得て作られた、コンパクトで使いやすいテキストエディタ|
|``nano``|Pico にヒントを得て作られた、コンパクトで使いやすいテキストエディタ|
+
|``network-manager``|ネットワーク管理フレームワーク (デーモンおよびユーザスペースツール)|
 
|``openprinting-ppds``|OpenPrinting printer support - PostScript PPD files|
|``openprinting-ppds``|OpenPrinting printer support - PostScript PPD files|
 
|``ppp``|Point-to-Point Protocol (PPP) デーモン|
|``ppp``|Point-to-Point Protocol (PPP) デーモン|
~
|``pptp-linux``|Point-to-Point Tunneling Protocol (PPTP) クライアント|
|``pppconfig``|ppp 設定用のテキストメニューベースのユーティリティ|
~
|``rygel``|GNOME UPnP/DLNA services|
|``pppoeconf``|configures PPPoE/ADSL connections|
 
|``sane-utils``|スキャナ用 API ライブラリ - ユーティリティ|
|``sane-utils``|スキャナ用 API ライブラリ - ユーティリティ|
 
|``libsane-hpaio``|HP の複合機用 SANE バックエンド|
|``libsane-hpaio``|HP の複合機用 SANE バックエンド|
~
|``speech-dispatcher``|Common interface to speech synthesizers|
|``usbmuxd``|iPhone や iPod Touch デバイス向け USB マルチプレクサデーモン|
+
|``speech-dispatcher-audio-plugins``|Audio output plugins|
 
|``wamerican``|/usr/share/dict 用米国英語単語リスト|
|``wamerican``|/usr/share/dict 用米国英語単語リスト|
 
|``wbritish``|/usr/share/dict 用英国英語単語リスト|
|``wbritish``|/usr/share/dict 用英国英語単語リスト|
 

        

        
~
***使用するaptパッケージをインストールする [#install_necessary_packages]

         
-
***使用するパッケージをインストールする [#install_necessary_packages]
 
以下のコマンドで一括してインストールする。 インストール目的等については省略。
以下のコマンドで一括してインストールする。 インストール目的等については省略。
 

        

        
~
#code(sh,使用するaptパッケージのインストール){{
#code(sh,使用するパッケージのインストール){{
 
sudo apt install \
sudo apt install \
~
  alsa-utils \
  autoconf automake autotools-dev build-essential gettext libtool libboost-dev bison \
+
  apt-transport-https \
+
  build-essential pkg-config libboost-dev \
+
  brasero \
+
  bridge-utils \
+
  clang \
 
  cmake \
  cmake \
 
  chromium-browser \
  chromium-browser \
 
  curl \
  curl \
 
  '^fonts-ipafont.*' '^fonts-ipaexfont.*' fonts-monapo fonts-mikachan fonts-wine \
  '^fonts-ipafont.*' '^fonts-ipaexfont.*' fonts-monapo fonts-mikachan fonts-wine \
 
  gedit-plugins \
  gedit-plugins \
 
  gimp \
  gimp \
~
  git gitweb \
  git gitweb git-svn \
~
  gnome-shell-extension-manager \
  gnome-shell-extension-hide-activities \
~
  gnome-tweaks \
  gnome-shell-extension-remove-dropdown-arrows \
-
  gnome-shell-extension-system-monitor \
-
  gnome-shell-extension-ubuntu-dock \
-
  gnome-tweak-tool \
 
  gparted \
  gparted \
 
  gsmartcontrol \
  gsmartcontrol \
-
  hddtemp \
 
  icedax \
  icedax \
~
  inkscape \
  imagemagick \
+
  liblua5.3-dev liblua5.4-dev \
+
  libreoffice-calc \
 
  logwatch \
  logwatch \
 
  lm-sensors \
  lm-sensors \
 
  mdadm \
  mdadm \
-
  mono-mcs mono-vbnc \
 
  mozc-utils-gui \
  mozc-utils-gui \
 
  munin munin-node munin-plugins-core munin-plugins-extra \
  munin munin-node munin-plugins-core munin-plugins-extra \
-
  nasm \
 
  nethogs \
  nethogs \
 
  nfs-kernel-server \
  nfs-kernel-server \
 
  nginx-extras \
  nginx-extras \
 
  nkf \
  nkf \
 
  nodejs \
  nodejs \
 
  partitionmanager \
  partitionmanager \
+
  php-fpm php-mbstring fcgiwrap \
 
  postfix \
  postfix \
-
  php-fpm fcgiwrap \
 
  samba \
  samba \
 
  smartmontools \
  smartmontools \
+
  software-properties-common \
 
  swig \
  swig \
-
  subversion \
 
  synaptic \
  synaptic \
 
  tree \
  tree \
~
  virt-manager \
  virt-manager qemu-kvm \
 
  vlc \
  vlc \
 
  wine-stable \
  wine-stable \
-
  xinetd \
 
  xclip \
  xclip \
~
  xinetd
  yasm
 
}}
}}
 

        

        
 
ここでインストールする各パッケージの概要は次のとおり。
ここでインストールする各パッケージの概要は次のとおり。
 

        

        
 
|*インストールするパッケージと概要
|*インストールするパッケージと概要
 
|~パッケージ名|~概要|hf
|~パッケージ名|~概要|hf
~
|``alsa-utils``|ALSA の設定や利用のためのユーティリティ群|
|``autoconf``|configure スクリプト自動作成プログラム|
~
|``apt-transport-https``|transitional package for https support|
|``automake``|GNU 標準準拠の Makefile 生成ツール|
-
|``autotools-dev``|config.{guess,sub} ファイルの更新用基盤|
 
|``build-essential``|build-essential なパッケージの一覧情報|
|``build-essential``|build-essential なパッケージの一覧情報|
~
|``pkg-config``|ライブラリのコンパイルフラグとリンクフラグを管理|
|``gettext``|GNU 国際化ユーティリティ|
-
|``libtool``|汎用ライブラリサポートスクリプト|
 
|``libboost-dev``|Boost C++ Libraries development files (default version)|
|``libboost-dev``|Boost C++ Libraries development files (default version)|
~
|``brasero``|CD/DVD burning application for GNOME|
|``bison``|YACC 互換なパーサジェネレータ|
+
|``bridge-utils``|Linux イーサネットブリッジの設定ユーティリティ|
+
|``clang``|C, C++ and Objective-C compiler (LLVM based), clang binary|
 
|``cmake``|cross-platform, open-source make system|
|``cmake``|cross-platform, open-source make system|
 
|``chromium-browser``|Transitional package - chromium-browser -> chromium snap|
|``chromium-browser``|Transitional package - chromium-browser -> chromium snap|
~
|``curl``|URL 文法でデータを転送するコマンドラインツール|
|``curl``|command line tool for transferring data with URL syntax|
 
|``'^fonts-ipafont.*'``|Japanese OpenType font set, IPA Gothic and IPA P Gothic Fonts|
|``'^fonts-ipafont.*'``|Japanese OpenType font set, IPA Gothic and IPA P Gothic Fonts|
 
|``'^fonts-ipaexfont.*'``|Japanese OpenType font, all IPAex Fonts|
|``'^fonts-ipaexfont.*'``|Japanese OpenType font, all IPAex Fonts|
 
|``fonts-monapo``|日本語 TrueType フォント - Monapo|
|``fonts-monapo``|日本語 TrueType フォント - Monapo|
1369,169 1178,91
 
|``gimp``|GNU 画像処理プログラム|
|``gimp``|GNU 画像処理プログラム|
 
|``git``|速く、スケーラブルな分散型リビジョン管理システム|
|``git``|速く、スケーラブルな分散型リビジョン管理システム|
 
|``gitweb``|fast, scalable, distributed revision control system (web interface)|
|``gitweb``|fast, scalable, distributed revision control system (web interface)|
~
|``gnome-shell-extension-manager``|Utility for managing GNOME Shell Extensions|
|``git-svn``|fast, scalable, distributed revision control system (svn interoperability)|
~
|``gnome-tweaks``|GNOME の高度な設定を変更するツール|
|``gnome-shell-extension-hide-activities``|GNOME shell extension that hides the activities button|
-
|``gnome-shell-extension-remove-dropdown-arrows``|removes drop down arrows from panel on GNOME shell|
-
|``gnome-shell-extension-system-monitor``|Display system information in GNOME Shell status bar|
-
|``gnome-shell-extension-ubuntu-dock``|Ubuntu Dock for GNOME Shell|
-
|``gnome-tweak-tool``|adjust advanced settings for GNOME - transitional package|
 
|``gparted``|GNOME パーティションエディタ|
|``gparted``|GNOME パーティションエディタ|
 
|``gsmartcontrol``|graphical user interface for smartctl|
|``gsmartcontrol``|graphical user interface for smartctl|
-
|``hddtemp``|hard drive temperature monitoring utility|
 
|``icedax``|オーディオ CD から WAV を生成する|
|``icedax``|オーディオ CD から WAV を生成する|
~
|``inkscape``|ベクターベースのドローイングプログラム|
|``imagemagick``|画像編集プログラム -- バイナリ|
+
|``liblua5.3-dev``|Development files for the Lua language version 5.3|
+
|``liblua5.4-dev``|Development files for the Lua language version 5.4|
+
|``libreoffice-calc``|office productivity suite -- spreadsheet|
 
|``logwatch``|出力が優れ、Perl で書かれたログアナライザ|
|``logwatch``|出力が優れ、Perl で書かれたログアナライザ|
 
|``lm-sensors``|温度・電圧・ファンセンサ読み取り用ユーティリティ|
|``lm-sensors``|温度・電圧・ファンセンサ読み取り用ユーティリティ|
~
|``mdadm``|Linux MD アレイ (ソフトウェア RAID) 管理ツール|
|``mdadm``|Linux MD アレイ (ソフトウェア Raid) 管理ツール|
-
|``mono-mcs``|Mono C# 2.0 / 3.0 / 4.0 / 5.0  compiler for CLI 2.0 / 4.0 / 4.5|
-
|``mono-vbnc``|Mono Visual Basic コンパイラ (VB.NET)|
 
|``mozc-utils-gui``|GUI utilities of the Mozc input method|
|``mozc-utils-gui``|GUI utilities of the Mozc input method|
 
|``munin``|network-wide graphing framework (grapher/gatherer)|
|``munin``|network-wide graphing framework (grapher/gatherer)|
 
|``munin-node``|network-wide graphing framework (node)|
|``munin-node``|network-wide graphing framework (node)|
 
|``munin-plugins-core``|network-wide graphing framework (plugins for node)|
|``munin-plugins-core``|network-wide graphing framework (plugins for node)|
 
|``munin-plugins-extra``|network-wide graphing framework (user contributed plugins for node)|
|``munin-plugins-extra``|network-wide graphing framework (user contributed plugins for node)|
-
|``nasm``|汎用の x86 アセンブラ|
 
|``nethogs``|Net top tool grouping bandwidth per process|
|``nethogs``|Net top tool grouping bandwidth per process|
 
|``nfs-kernel-server``|NFS カーネルサーバ用サポート|
|``nfs-kernel-server``|NFS カーネルサーバ用サポート|
 
|``nginx-extras``|nginx web/proxy server (extended version)|
|``nginx-extras``|nginx web/proxy server (extended version)|
 
|``nkf``|ネットワーク漢字コード変換フィルタ|
|``nkf``|ネットワーク漢字コード変換フィルタ|
 
|``nodejs``|evented I/O for V8 javascript - runtime executable|
|``nodejs``|evented I/O for V8 javascript - runtime executable|
 
|``partitionmanager``|file, disk and partition management for KDE|
|``partitionmanager``|file, disk and partition management for KDE|
-
|``postfix``|高性能メール配送エージェント|
 
|``php-fpm``|server-side, HTML-embedded scripting language (FPM-CGI binary) (default)|
|``php-fpm``|server-side, HTML-embedded scripting language (FPM-CGI binary) (default)|
+
|``php-mbstring``|MBSTRING module for PHP [default]|
 
|``fcgiwrap``|simple server to run CGI applications over FastCGI|
|``fcgiwrap``|simple server to run CGI applications over FastCGI|
+
|``postfix``|高性能メール配送エージェント|
 
|``samba``|UNIX 用 SMB/CIFS ファイル、プリンタ、認証サーバ|
|``samba``|UNIX 用 SMB/CIFS ファイル、プリンタ、認証サーバ|
 
|``smartmontools``|S.M.A.R.T を使ってストレージシステムの制御と監視を実施|
|``smartmontools``|S.M.A.R.T を使ってストレージシステムの制御と監視を実施|
+
|``software-properties-common``|manage the repositories that you install software from (common)|
 
|``swig``|スクリプト言語向けに C/C++ のコードのインターフェースを生成|
|``swig``|スクリプト言語向けに C/C++ のコードのインターフェースを生成|
-
|``subversion``|Advanced version control system|
 
|``synaptic``|グラフィカルなパッケージマネージャ|
|``synaptic``|グラフィカルなパッケージマネージャ|
 
|``tree``|displays an indented directory tree, in color|
|``tree``|displays an indented directory tree, in color|
 
|``virt-manager``|仮想マシン管理用デスクトップアプリケーション|
|``virt-manager``|仮想マシン管理用デスクトップアプリケーション|
-
|``qemu-kvm``|QEMU Full virtualization on x86 hardware|
 
|``vlc``|マルチメディアプレイヤおよびストリーマ|
|``vlc``|マルチメディアプレイヤおよびストリーマ|
 
|``wine-stable``|Windows API implementation (transitional package)|
|``wine-stable``|Windows API implementation (transitional package)|
-
|``xinetd``|replacement for inetd with many enhancements|
 
|``xclip``|X セレクションへのコマンドラインインターフェイス|
|``xclip``|X セレクションへのコマンドラインインターフェイス|
~
|``xinetd``|replacement for inetd with many enhancements|
|``yasm``|modular assembler with multiple syntaxes support|
 

        

        
-
**ドライバ類をインストールする
-
+「ソフトウェアとアップデート」を起動する
-
+[追加のドライバー]タブを開く
-
+使用するドライバを選択して[変更の適用]を行う
 

        

        
-
$relevantdocs(参考)
 

        

        
~
**Linux向けMicrosoft製品のインストール [#install-microsoft-softwares]
-[[ubuntuにnVidiaドライバを入れたらUnityが起動しない場合の対処:http://qiita.com/tttamaki/items/e51bbbf04edf04b9b7c3]]
+
$relevantdocs(参照)
+

         
+
-[[Microsoft 製品用 Linux ソフトウェア リポジトリ | Microsoft Docs:https://docs.microsoft.com/ja-jp/windows-server/administration/linux-package-repository-for-microsoft-software]]
 

        

        
 
$relevantdocs$
$relevantdocs$
 

        

        
+
***Microsoft製品のリポジトリを追加する
+
キーリングを追加する。
 

        

        
~
#prompt(emphasize=shell-unix,Microsoft製品のAPTキーリングを追加する){{
#commentout{{{
~
$ curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
**不要なサービスを停止する [#stop_unnecessary_services]
~
}}
``sysv-rc-conf``(``chkconfig``の代替)をインストール。
 

        

        
~
リポジトリを追加する。
#code(sh){{
~

         
sudo apt install sysv-rc-conf
+
#prompt(emphasize=shell-unix,Microsoft製品のリポジトリを追加する){{
+
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main"
+
リポジトリ: 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main'
+
概要:
+
Archive for codename: jammy components: main
+
より詳しい情報: https://packages.microsoft.com/ubuntu/22.04/prod
+
リポジトリを追加しています。
+
続けるには「Enter」キーを、中止するにはCtrl-cを押してください。
+

         
+
<!-- Visual Studio Codeをインストールする場合は以下を追加 -->
+
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
+
リポジトリ: 'deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main'
+
概要:
+
Archive for codename: stable components: main
+
より詳しい情報: https://packages.microsoft.com/repos/vscode
+
リポジトリを追加しています。
+
続けるには「Enter」キーを、中止するにはCtrl-cを押してください。
+

         
+
<!-- Microsoft Edgeをインストールする場合は以下を追加 -->
+
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main"
+
リポジトリ: 'deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main'
+
概要:
+
Archive for codename: stable components: main
+
より詳しい情報: https://packages.microsoft.com/repos/edge
+
リポジトリを追加しています。
+
続けるには「Enter」キーを、中止するにはCtrl-cを押してください。
+

         
+
$ sudo apt update
 
}}
}}
 

        

        
~
$remarks
起動されるサービスの一覧を表示。
+
``[arch=*]``を指定せずにリポジトリを追加した場合、``apt update``等を実行したときに以下のような警告が表示されることがある。
 

        

        
~
#prompt{{
#code(sh){{
~
N: リポジトリ 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' がアーキテクチャ 'i386' をサポートしないため設定ファイル 'main/binary-i386/Packages' の取得をスキップ
sudo sysv-rc-conf --list | grep :on
 
}}
}}
 

        

        
~
この場合、追加されたsourcelistファイルを編集して、``[arch=amd64]``などを追加することで警告がでないようにすることができる。
表示されたもののうち不要なものがあれば以下のようにして停止する。
 

        

        
~
#code(diff,/etc/apt/sources.list.d/*.list){{
#code(sh){{
~
-deb https://packages.microsoft.com/ubuntu/22.04/prod jammy main
sudo sysv-rc-conf avahi-daemon off
~
+deb [arch=amd64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main
sudo sysv-rc-conf bluetooth off
-
sudo sysv-rc-conf rsync off
 
}}
}}
~
$remarks$
}}}
 

        

        
~
***Microsoftリポジトリのパッケージを優先する
**必要とされていないパッケージを削除する
~
``dotnet-sdk-6.0``などのパッケージについて、Ubuntuではなく、Microsoftのリポジトリのパッケージを優先してインストールしたい場合は、以下のような``.pref``ファイルを作成することでパッケージ選択の優先度を変更できる。
#code(sh){{
~

         
sudo apt autoremove
+
#code(,/etc/apt/preferences.d/packages.microsoft.com.pref){{
+
Package: dotnet-* aspnetcore-* netstandard-*
+
Pin: origin "packages.microsoft.com"
+
Pin-Priority: 1001
+
}}
+

         
+
$relevantdocs(参考)
+

         
+
-[[Installing .NET 6 on Ubuntu 22.04 (Jammy) · Issue #7699 · dotnet/core:https://github.com/dotnet/core/issues/7699]]
+
-[[Ubuntu Manpage: apt_preferences - APT 用選択制御ファイル:https://manpages.ubuntu.com/manpages/bionic/ja/man5/apt_preferences.5.html]]
+

         
+
$relevantdocs$
+

         
+
***使用するパッケージをインストールする
+
以下のコマンドで一括してインストールする。 インストール目的等については省略。
+

         
+
#code(sh,使用するパッケージのインストール){{
+
sudo apt install \
+
  code \
+
  dotnet-sdk-6.0 \
+
  microsoft-edge-stable \
+
  powershell
+
}}
+

         
+
ここでインストールする各パッケージの概要は次のとおり。
+

         
+
|*インストールするパッケージと概要
+
|~パッケージ名|~概要|hf
+
|``code``|Code editing. Redefined.|
+
|``dotnet-sdk-6.0``|Microsoft .NET SDK 6.0.401|
+
|``microsoft-edge-stable``|The web browser from Microsoft|
+
|``powershell``|PowerShell is an automation and configuration management platform.|
+

         
+

         
+

         
+
**snapパッケージの削除・インストール [#manage_snap_packages]
+
***不要なsnapパッケージを削除する
+
#code(sh,不要なsnapパッケージの削除){{
+
sudo snap remove hunspell-dictionaries-1-7-2004
 
}}
}}
 

        

        
+
***使用するspanパッケージをインストールする
+
#code(sh,使用するsnapパッケージのインストール){{
+
sudo snap install thunderbird
+
}}
+

         
+

         
+
**ドライバ類をインストールする
+
+「ソフトウェアとアップデート」を起動する
+
+[追加のドライバー]タブを開く
+
+使用するドライバを選択して[変更の適用]を行う
+

         
+
$relevantdocs(参考)
+

         
+
-[[ubuntuにnVidiaドライバを入れたらUnityが起動しない場合の対処:http://qiita.com/tttamaki/items/e51bbbf04edf04b9b7c3]]
+

         
+
$relevantdocs$
+

         
 

        

        
 
**パッケージ情報を更新してアップデートする
**パッケージ情報を更新してアップデートする
 
#code(sh){{
#code(sh){{
1539,15 1270,8
 
}}
}}
 

        

        
 

        

        
~
**必要とされていないパッケージを削除する
**root宛て・一般ユーザ宛てメールの送信先を変更する
~
#code(sh){{
``/etc/aliases``に送信先を追記する。
+
sudo apt autoremove
+
}}
+

         
+

         
+
*その他環境設定
+
**/etc/aliases
+
``/etc/aliases``に送信先を追記して、root宛て・一般ユーザ宛てメールの送信先を変更する。
 

        

        
 
#code(,type=configuration,/etc/aliases){{
#code(,type=configuration,/etc/aliases){{
 
# Added by installer for initial user
# Added by installer for initial user
1561,8 1285,7
 
}}
}}
 

        

        
 

        

        
~

         
**再起動
+
*再起動
 
ここまででいったん再起動。 再起動後に``ps``, ``pstree``, ``top``で必要なさそうなプロセスが動いてないかチェックする。
ここまででいったん再起動。 再起動後に``ps``, ``pstree``, ``top``で必要なさそうなプロセスが動いてないかチェックする。
 

        

        
 

        

        
1572,43 1295,18
 
**~/.cacheディレクトリ
**~/.cacheディレクトリ
 
``~/.cache``ディレクトリ等、以下のディレクトリを``/home``とは異なるディスク上のパーティションに置き、シンボリックリンクに置き換える。
``~/.cache``ディレクトリ等、以下のディレクトリを``/home``とは異なるディスク上のパーティションに置き、シンボリックリンクに置き換える。
 

        

        
+
-``.arduino15``
 
-``.cache``
-``.cache``
+
-``.dotnet``
+
-``.npm``
 
-``.nuget``
-``.nuget``
-
-``.vscode``
 
-``.platformio``
-``.platformio``
+
-``.var``
+
-``.vscode``
 
-``.wine``
-``.wine``
 

        

        
 
#code(sh){{
#code(sh){{
~
#!/bin/bash
for d in ".cache" ".nuget" ".vscode" ".platformio" ".wine"; do
~

         
  mv ~/${d} ~/temp_${d}
~
# シンボリックリンクに置き換えるディレクトリ
  mkdir -p /opt/cache/users/${USER}/${d}/
~
DIRS=(".arduino15" ".cache" ".dotnet" ".npm" ".nuget" ".platformio" ".var" ".vscode" ".wine")
  ln -s /opt/cache/users/${USER}/${d}/ ~/${d}
~

         
  rm -rf ~/temp_${d}/
+
# リンク先のディレクトリ
+
CACHE_BASE_DIR=/opt/cache/users/${USER}
+

         
+
for d in "${DIRS[@]}"; do
+
  DIR=~/${d}
+
  CACHE_DIR=${CACHE_BASE_DIR}/${d}
+

         
+
  # すでにシンボリックリンクの場合は何もしない
+
  if [ ! -L ${DIR} ]; then
+
    # リンク先ディレクトリが無い場合は、先に作成して既存のファイルを移動する
+
    if [ ! -d ${CACHE_DIR} ]; then
+
      mkdir -p ${CACHE_DIR}
+
      rsync -a ${DIR} ${CACHE_DIR}/
+
    fi
+

         
+
    # 一旦実ディレクトリを退避したのち、シンボリックリンクを作成し、退避した実ディレクトリを削除
+
    TEMP_DIR=~/temp_${d}
+
    mv ${DIR} ${TEMP_DIR}
+
    ln -s ${CACHE_DIR} ${DIR}
+
    rm -rf ${TEMP_DIR}
+
  fi
 
done
done
 
}}
}}
 

        

        
1618,33 1316,39
 

        

        
 
#code(sh,dconfの/org/gnome/ディレクトリエントリをエクスポート/インポートする){{
#code(sh,dconfの/org/gnome/ディレクトリエントリをエクスポート/インポートする){{
 
# /org/gnome/以下のディレクトリエントリをエクスポートする
# /org/gnome/以下のディレクトリエントリをエクスポートする
~
dconf dump /org/gnome/ > org-gnome.dconf
dconf dump /org/gnome/ > settings-org-gnome.dconf
 

        

        
 
# /org/gnome/以下のディレクトリエントリにインポートする
# /org/gnome/以下のディレクトリエントリにインポートする
~
dconf load /org/gnome/ < org-gnome.dconf
dconf load /org/gnome/ < settings-org-gnome.dconf
 
}}
}}
 

        

        
 

        

        
 

        

        
 
**設定
**設定
~
⏻メニュー→⚙設定を起動して設定を編集する。
設定(``gnome-control-center``)を起動して設定を編集する。
~

         

         
~
:[外観]タブ|
:[通知]タブ|不必要なものをオフにする
~
::Dock|Dockの設定をカスタマイズする
:[プライバシー]タブ|不必要なものをオフにする
~
:::Dockの挙動の設定|「マウントしていないボリュームを含む」のチェックを外す
::[ファイルの履歴と削除]|
~
:[通知]タブ|「ロック画面での通知」をオフにする
:::[ファイルの履歴の期間]|適当な値に変更する
~
::[アプリケーション]|不必要なものをオフにする
::[ゴミ箱と一時ファイル]|
~
:[電源管理]タブ|
:::[ゴミ箱の内容を自動的に削除する]|オンにする
~
::[省電力オプション]|
:::[一時ファイルを自動的に削除する]|オンにする
-
:::[自動的に削除する期間]|適当な値に変更する
-
:[電源]タブ|
-
::[省電力]|
 
:::[ブランクスクリーン]|「しない」に設定、または以下のコマンドで長時間に指定
:::[ブランクスクリーン]|「しない」に設定、または以下のコマンドで長時間に指定
 
:[マウス]タブ|マウスの速度を適当な値に変更する
:[マウス]タブ|マウスの速度を適当な値に変更する
~
:[キーボード]タブ|
:[キーボードショートカット]タブ|必要に応じてショートカット設定を変更
-
:[地域と言語]タブ|
 
::[入力ソース]|日本語(Mozc)の優先度を上げる
::[入力ソース]|日本語(Mozc)の優先度を上げる
 
:[ユニバーサルアクセス]タブ|
:[ユニバーサルアクセス]タブ|
 
::[タイピング]|
::[タイピング]|
 
:::[リピートキー]|オンにして、繰り返しキー入力の時間と速度を適度な値に変更する
:::[リピートキー]|オンにして、繰り返しキー入力の時間と速度を適度な値に変更する
 
:::[カーソルの点滅]|オンにして、点滅の速度を適度な値に変更する
:::[カーソルの点滅]|オンにして、点滅の速度を適度な値に変更する
 
:[日付と時刻]タブ|
:[日付と時刻]タブ|
-
::[自動日時設定]|オンにする
-
::[タイムゾーン]|適切な設定になっているか確認
 
::[日時書式]|24時間制にする
::[日時書式]|24時間制にする
 

        

        
 
$remarks
$remarks
1660,15 1364,26
 
$remarks$
$remarks$
 

        

        
 
**Tweaks (デスクトップ環境・ウィンドウマネージャの設定等)
**Tweaks (デスクトップ環境・ウィンドウマネージャの設定等)
~
Tweaks(``gnome-tweaks``)を起動して設定を編集する。
Tweaks(``gnome-tweak-tool``)を起動して設定を編集する。
 

        

        
 
:[ウィンドウ]タブ|
:[ウィンドウ]タブ|
-
::[エッジタイリング]|オフにする
 
::[ウィンドウ操作キー]|Altに変更
::[ウィンドウ操作キー]|Altに変更
-
:[ウィンドウタイトルバー]タブ|
-
::[タイトルバーボタン]|最大化・最小化・閉じるボタンを左にする場合はここで設定する
 
:[キーボードとマウス]タブ|
:[キーボードとマウス]タブ|
 
::[入力ソースを追加表示する]|オンに変更
::[入力ソースを追加表示する]|オンに変更
-
:[トップバー]タブ|
-
::[時計]|
-
:::[曜日]|オンに変更
-
:::[日付]|オンに変更
-
:::[秒]|オンに変更
 
:[フォント]タブ|
:[フォント]タブ|
 
::[インターフェイスのテキスト]|``Noto Sans CJK Thin 11``にする
::[インターフェイスのテキスト]|``Noto Sans CJK Thin 11``にする
 
::[等幅]|``Noto Sans Mono CJK JP Regular 12``にする
::[等幅]|``Noto Sans Mono CJK JP Regular 12``にする
-
:[ワークスペース]タブ|[静的ワークスペース]に変更、[ワークスペース数]を適当に設定
-
:[拡張機能]タブ|インストールしたものをオンにする
-

         
 

        

        
 

        

        
 
**Mozcの設定
**Mozcの設定
1686,32 1401,31
 
**Firefox
**Firefox
 
``user.js``を作成して以下の内容を記述しておく。
``user.js``を作成して以下の内容を記述しておく。
 

        

        
~
#code(js,type=configuration,~/snap/firefox/common/.mozilla/firefox/(ユーザープロファイルディレクトリ)/user.js){{
#code(js,type=configuration,~/.mozilla/firefox/(ユーザープロファイルディレクトリ)/user.js){{
-
user_pref("intl.accept_languages", "ja,en"); // 言語の優先順位(Accept-Language)を設定する
-

         
-
user_pref("network.dns.disableIPv6", true); // IPv6を無効にする
-

         
-
user_pref("general.autoScroll", false); // 自動スクロール機能を使用しない
-
user_pref("general.smoothScroll", false); // スムーススクロールを無効にする
-

         
 
user_pref("accessibility.browsewithcaret", true); // キャレットブラウズモードを有効にする
user_pref("accessibility.browsewithcaret", true); // キャレットブラウズモードを有効にする
 

        

        
-
user_pref("layout.spellcheckDefault", 0); // 自動スペルチェック機能を使用しない
-

         
 
user_pref("browser.search.openintab", true); // 検索結果を新しいタブで開く
user_pref("browser.search.openintab", true); // 検索結果を新しいタブで開く
 
user_pref("browser.search.widget.inNavBar", true); // 検索バーをツールバーに表示する
user_pref("browser.search.widget.inNavBar", true); // 検索バーをツールバーに表示する
+
user_pref("browser.startup.page", 3); // 起動時に前回のウィンドウとタブを開く
 
user_pref("browser.tabs.loadInBackground", false); // リンクを新しいタブで開いたとき、すぐにそのタブに切り替える
user_pref("browser.tabs.loadInBackground", false); // リンクを新しいタブで開いたとき、すぐにそのタブに切り替える
 
user_pref("browser.tabs.loadBookmarksInTabs", true); // ブックマークを新しいタブで開く
user_pref("browser.tabs.loadBookmarksInTabs", true); // ブックマークを新しいタブで開く
 
user_pref("browser.tabs.closeWindowWithLastTab", false); // 最後のタブを閉じたあともウィンドウを開いたままにする
user_pref("browser.tabs.closeWindowWithLastTab", false); // 最後のタブを閉じたあともウィンドウを開いたままにする
 
user_pref("browser.tabs.warnOnClose", false); // 複数のタブを閉じるときにダイアログを表示しない
user_pref("browser.tabs.warnOnClose", false); // 複数のタブを閉じるときにダイアログを表示しない
+

         
+
user_pref("general.autoScroll", false); // 自動スクロール機能を使用しない
+
user_pref("general.smoothScroll", false); // スムーススクロールを無効にする
+

         
+
user_pref("intl.accept_languages", "ja,en"); // 言語の優先順位(Accept-Language)を設定する
+

         
+
user_pref("layout.spellcheckDefault", 0); // 自動スペルチェック機能を使用しない
+

         
+
user_pref("network.dns.disableIPv6", true); // IPv6を無効にする
+

         
+
user_pref("signon.rememberSignons", false); // ウェブサイトのログイン情報とパスワードを保存しない
 
}}
}}
 

        

        
 
その他、メニューの[設定]から以下の設定を行う。
その他、メニューの[設定]から以下の設定を行う。
 
:[検索]タブ|
:[検索]タブ|
 
::[ワンクリック検索エンジン]|不要な検索エンジンを選択解除あるいは削除
::[ワンクリック検索エンジン]|不要な検索エンジンを選択解除あるいは削除
-
:[プライバシーとセキュリティ]タブ|
-
::[ウェブサイトのログイン情報とパスワードを保存する]|チェックを外す
 

        

        
 
***プロファイルごとのショートカットを作る
***プロファイルごとのショートカットを作る
 
デフォルト以外のプロファイルがまだ存在しない場合は、一旦Firefoxを終了したのちに``firefox -p``でプロファイル選択ウィンドウを開き、新しいプロファイルを作成する。
デフォルト以外のプロファイルがまだ存在しない場合は、一旦Firefoxを終了したのちに``firefox -p``でプロファイル選択ウィンドウを開き、新しいプロファイルを作成する。
1730,7 1444,7
 
Exec=firefox -P "user2" %u
Exec=firefox -P "user2" %u
 
Type=Application
Type=Application
 
Terminal=false
Terminal=false
~
Icon=/snap/firefox/current/default256.png
Icon=firefox
 

        

        
 
# 「新しいウィンドウを開く」などのアクションを定義する場合は、Actionsキーにアクション名を記述して、
# 「新しいウィンドウを開く」などのアクションを定義する場合は、Actionsキーにアクション名を記述して、
 
# 対応する名前のセクションにて動作を定義する
# 対応する名前のセクションにて動作を定義する
1742,7 1456,7
 
Exec=firefox -P "user2" --new-window
Exec=firefox -P "user2" --new-window
 
}}
}}
 

        

        
~
デスクトップエントリファイルを作成するとアプリケーション一覧にアイコンが表示されるようになる。 表示されない場合は一旦ログアウトする。
デスクトップエントリファイルを作成するとアプリケーション一覧にアイコンが表示されるようになる。
 

        

        
 
$relevantdocs(参考)
$relevantdocs(参考)
 

        

        
1754,7 1468,7
 
**Thunderbird
**Thunderbird
 
``user.js``を作成して以下の内容を記述しておく。
``user.js``を作成して以下の内容を記述しておく。
 

        

        
~
#code(js,type=configuration,~/snap/thunderbird/common/.thunderbird/(ユーザープロファイルディレクトリ)/user.js){{
#code(js,type=configuration,~/.thunderbird/(ユーザープロファイルディレクトリ)/user.js){{
 
user_pref("general.smoothScroll", false); // スムーススクロールを無効にする
user_pref("general.smoothScroll", false); // スムーススクロールを無効にする
 
user_pref("mail.mdn.report.enabled", false); // 開封確認を送信しない
user_pref("mail.mdn.report.enabled", false); // 開封確認を送信しない
 
user_pref("mail.server.default.mdn_report_enabled", false); // (新規に作成されるアカウントに対して)開封確認を送信しない
user_pref("mail.server.default.mdn_report_enabled", false); // (新規に作成されるアカウントに対して)開封確認を送信しない
1766,20 1480,29
 
**Nautilus
**Nautilus
 
メニューの[設定]から以下の設定を行う。
メニューの[設定]から以下の設定を行う。
 

        

        
~
:[全般]|
:[表示]タブ|
~
::[一覧表示でフォルダーをツリー表示可能にする]|オンにする
::[一覧表示]|
~
:[パフォーマンス]|
:::[フォルダーを展開可能にする]|チェックを入れる
~
::[サブフォルダー内の検索]|「このコンピューターのファイルのみ」を選択する
:[動作]タブ|
~
::[サムネイルの表示]|「このコンピューターのファイルのみ」を選択する
::[実行可能なテキストファイル]|「どうするか確認する」を選択する
~
::[フォルダー内のファイル数の算出]|「このコンピューターのファイルのみ」を選択する
:[一覧の項目]タブ|
~

         
::[更新日]|チェックを外す
~
***ロケーションバーを常に表示するようにする・フルパスを表示するようにする
::[星]|チェックを外す
~
#code(sh,Nautilusロケーションバーを常に表示する・フルパスを表示するようにする){{
::[更新日時]|チェックを入れる
-
:[検索とプレビュー]タブ|
-
::[検索]|
-
:::[サブフォルダー内の検索]|「このコンピューターのファイルのみ」を選択する
-
::[サムネイル]|
-
:::[サムネイルの表示]|「このコンピューターのファイルのみ」を選択する
-

         
-
***ロケーションバーを常に表示するようにする
-
#code(sh,Nautilusロケーションバーを常に表示する){{
 
gsettings set org.gnome.nautilus.preferences always-use-location-entry true
gsettings set org.gnome.nautilus.preferences always-use-location-entry true
 
}}
}}
 

        

        
 

        

        
~
***/homeのディレクトリ表記を英語にする・不要なディレクトリを削除する [#userdirs_conf]

         
-
***/home/のディレクトリ表記を英語にする・不要なディレクトリを削除する [#userdirs_conf]
 
次項[[#nautilus_sidebar_items]]を参照のこと。
次項[[#nautilus_sidebar_items]]を参照のこと。
 

        

        
 
***不要なディレクトリをサイドバーに表示しないようにする [#nautilus_sidebar_items]
***不要なディレクトリをサイドバーに表示しないようにする [#nautilus_sidebar_items]
1788,13 1511,13
 
#code(,type=configuration,~/.config/user-dirs.dirs){{
#code(,type=configuration,~/.config/user-dirs.dirs){{
 
# 以下のディレクトリはサイドバーに表示する、かつ英語表記のディレクトリ名を使用する
# 以下のディレクトリはサイドバーに表示する、かつ英語表記のディレクトリ名を使用する
 
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DESKTOP_DIR="$HOME/Desktop"
+
XDG_DOCUMENTS_DIR="$HOME/Documents"
 
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
 
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PICTURES_DIR="$HOME/Pictures"
 

        

        
~
# 以下のディレクトリはNautilusのサイドバーやファイルダイアログに表示させない
# 以下のディレクトリはNautilusのサイドバーに表示させない
 
#XDG_TEMPLATES_DIR="$HOME/Templates"
#XDG_TEMPLATES_DIR="$HOME/Templates"
 
#XDG_PUBLICSHARE_DIR="$HOME/Public"
#XDG_PUBLICSHARE_DIR="$HOME/Public"
-
#XDG_DOCUMENTS_DIR="$HOME/Documents"
 
#XDG_MUSIC_DIR="$HOME/Music"
#XDG_MUSIC_DIR="$HOME/Music"
 
#XDG_VIDEOS_DIR="$HOME/Videos"
#XDG_VIDEOS_DIR="$HOME/Videos"
 
}}
}}
1820,84 1543,126
 
rmdir テンプレート/ 公開/ ドキュメント/ ミュージック/ ピクチャ/ ビデオ/
rmdir テンプレート/ 公開/ ドキュメント/ ミュージック/ ピクチャ/ ビデオ/
 
}}
}}
 

        

        
~
ログアウトするなどしてセッションを再起動する。 最後にNautilusのサイドバーの不要なディレクトリを右クリックして一覧から削除する。
ログアウトするなどしてセッションを再起動する。 最後にNautilushのサイドバーの不要なディレクトリを右クリックして一覧から削除する。
 

        

        
-
#hr
 

        

        
~
**システムモニタアプレット(gnome-shell-system-monitor-applet)のインストール
$remarks
~
まず``gir1.2-gtop-2.0``をインストールする。
以前のUbuntuでディレクトリ名の表記を変更する場合、以下の手順で変更することができた。 参考として記載しておく。
-
#code(sh){{
-
cd ~
-
LANG=C xdg-user-dirs-gtk-update
-
}}
-

         
-
表示されるダイアログにしたがって変更すればOK。 ディレクトリを削除する前に、以下の内容を記述した``~/.config/user-dirs.conf``を作成し、ディレクトリを削除しても二度と作成させないようにする。
 

        

        
~
#code(sh,gir1.2-gtop-2.0のインストール){{
#code(,type=configuration,~/.config/user-dirs.conf){{
~
sudo apt install gir1.2-gtop-2.0
enabled=False
 
}}
}}
 

        

        
~
GNOME Shell Extension Managerを起動して、[[system-monitor-next:https://extensions.gnome.org//extension/3010/system-monitor-next/]]をインストールする。
その後、不要なディレクトリを削除する。
~

         
#code(sh){{
~
$remarks
rmdir Documents/ Public/ Templates/
~
2022年9月23日時点では、オリジナルの[[system-monitor:https://extensions.gnome.org//extension/120/system-monitor/]]が対応するバージョンはGNOME 40までとなっていて、GNOME 42では動作しない状態になっている。
}}
 
$remarks$
$remarks$
 

        

        
 

        

        
 

        

        
 
**その他のシステム設定・環境設定
**その他のシステム設定・環境設定
~
***メニュー項目からの再起動・電源オフ・サスペンド等に管理者認証を要求する
***メニュー項目からの再起動・シャットダウン・サスペンド等を無効にする
~
``/etc/polkit-1/localauthority/50-local.d/``に``.pkla``ファイルを作成して、Polkitによるデフォルトの動作を置き換える。 ここでは、すべてのユーザー(``unix-user:*``)に対して管理者ユーザーとしての認証(``auth_admin_keep``)を求める。
``/etc/polkit-1/localauthority/90-mandatory.d/disable-power.pkla``を編集して、以下の内容を追記する。
 

        

        
~
#code(ini,type=configuration,/etc/polkit-1/localauthority/50-local.d/require-authentication-for-power-operations.pkla){{
#code(ini,type=configuration,/etc/polkit-1/localauthority/90-mandatory.d/disable-power.pkla){{
~
[Require authentication for power operations]
[Disable power management]
 
Identity=unix-user:*
Identity=unix-user:*
~
Action=org.freedesktop.login1.halt*;org.freedesktop.login1.hibernate*;org.freedesktop.login1.power-off*;org.freedesktop.login1.reboot*;org.freedesktop.login1.suspend*;org.freedesktop.login1.inhibit-block-*;org.freedesktop.login1.inhibit-delay-*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.restart-multiple-users;org.freedesktop.login1.halt;org.freedesktop.login1.halt-multiple-sessions;org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
 
ResultAny=no
ResultAny=no
 
ResultInactive=no
ResultInactive=no
~
ResultActive=auth_admin_keep
ResultActive=no
 
}}
}}
 

        

        
~
$remarks
上記の内容でファイルを作成するとメニュー項目等に再起動・電源オフが表示されなくなる。 変更が反映されない場合は一旦ログアウトする、GDMを再起動する、あるいはマシンを再起動する。
-

         
-
#code(sh,GDMの再起動){{
-
sudo systemctl restart gdm.service
-
}}
 

        

        
~
Ubuntu 22.04ではpolkitd 0.105がインストールされている(最新は0.116)。 このため、``*.rules``ファイルを``/etc/polkit-1/rules.d``に配置しても機能しない。
以降、再起動・電源オフはコマンドの入力によって行う。
 

        

        
~
#prompt(emphasize=shell-unix){{
#code(sh,再起動・電源オフ){{
~
$ pkaction --version
sudo reboot # 再起動
~
pkaction version 0.105
sudo shutdown -h # 電源オフ
 
}}
}}
 

        

        
~
$remarks$
$relevantdocs(参考資料)
-

         
-
-[[How to disable shutdown/reboot from lightdm in 14.04? - Ask Ubuntu:http://askubuntu.com/questions/453479/how-to-disable-shutdown-reboot-from-lightdm-in-14-04]]
-
-[[Bug #1300460 “Disabling suspend and hibernate via polkit in 14.0...”:https://bugs.launchpad.net/ubuntu/+source/policykit/+bug/1300460]]
-
-[[Ubuntu 12.04 LTS でハイバネートを有効にする方法 | Libre Free Gratis!:http://lfg-net.com/linux/ubuntu/precise-how-to-enable-hibernate/]]
-
-[[Removing the Suspend and Hibernate options from Gnome's menu:http://forums.opensuse.org/english/get-technical-help-here/applications/473745-removing-suspend-hibernate-options-gnomes-menu.html]]
-

         
-
$relevantdocs$
-

         
 

        

        
~
上記の内容でファイルを作成すると、サスペンドでは認証ダイアログが表示されるようになる。 再起動・電源オフでは、メニューをクリックしても機能しない動作となる。
***Ctrl+Alt+BackspaceでXサーバーを強制終了できるようにする
-
以下のコマンドでキーボード設定のダイアログを起動する。
-
#code{{
-
sudo dpkg-reconfigure keyboard-configuration
-
}}
 

        

        
~
(syslogには「```gnome-session-binary[3322]: WARNING: Unable to inhibit system: GDBus.Error:org.freedesktop.DBus.Error.InteractiveAuthorizationRequired: Interactive authentication required.```」と出力される)
以下ダイアログに従って以下の手順で設定する。
 

        

        
-
+【キーボードモデル】→変更せずそのまま[ENTER]
-
+【キーボードが由来する国】→変更せずそのまま[ENTER]
-
+【キーボードのレイアウト】→変更せずそのまま[ENTER]
-
+【AltGr として機能させるキー】→変更せずそのまま[ENTER]
-
+【コンポーズキー】→変更せずそのまま[ENTER]
-
+【X サーバを強制終了するのに Control+Alt+Backspace を使いますか?】→ここで<はい>を選択して[ENTER]
 

        

        
 

        

        
~
変更が反映されない場合は一旦ログアウトする、Polkitを再起動する、GDMを再起動する、あるいはマシンを再起動する。
#commentout{{{
-
***ゲストによるログインを無効にする (GDM)
-
#code{{
-
sudo apt remove gdm-guest-session
-
}}
 

        

        
~
#code(sh,Polkitの再起動){{
***ゲストによるログインを無効にする
~
sudo systemctl restart polkit
``/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf``を編集して、``allow-guest=false``を追記する。
-
#code(ini,type=configuration,/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf){{
-
[Seat:*]
-
user-session=ubuntu
-
allow-guest=false
 
}}
}}
 

        

        
~
#code(sh,GDMの再起動){{
この変更はマシンを再起動するか、LightDMを再起動した後に有効になる。
~
sudo systemctl restart gdm.service

         
-
#code(sh,LightDMの再起動){{
-
sudo service lightdm restart
 
}}
}}
-
}}}
-

         
 

        

        
~
以降、再起動・電源オフはコマンドの入力によって行う。
***iPhone/iPodのマウント
-
USBでの接続で「iPhone(またはiPod)をマウントできません」というエラーが出る場合は、``/var/lib/lockdown``のディレクトリの存在とパーミッションを確認する。
 

        

        
~
#code(sh,再起動・電源オフ){{
#code(sh){{
~
sudo reboot # 再起動
sudo mkdir /var/lib/lockdown
~
sudo shutdown -h # 電源オフ
sudo chmod 777 /var/lib/lockdown
 
}}
}}
 

        

        
 
$relevantdocs(参考資料)
$relevantdocs(参考資料)
 

        

        
~
-[[How to disable shutdown/reboot from lightdm in 14.04? - Ask Ubuntu:http://askubuntu.com/questions/453479/how-to-disable-shutdown-reboot-from-lightdm-in-14-04]]
-[[Ubuntu 14.04 LTS Now Supports iOS7 Connectivity, Trust Dialogue Bug Fixed - Softpedia:http://linux.softpedia.com/blog/Ubuntu-14-04-LTS-Now-Support-iO7-Connectivity-Trust-Dialogue-Bug-Fixed-432162.shtml]]
+
-[[PolicyKit rules never come into effect - Ask Ubuntu:https://askubuntu.com/questions/536591/policykit-rules-never-come-into-effect]]
+
-[[【第11回】目指せLinuxマスター(3) ~polkitの設定~ - エンリュの迷い森:https://lost-in-forest.hatenablog.com/entry/a00b]]
+
-[[PolicyKitを用いて適切に権限管理するには - 2016-12-27 - ククログ:https://www.clear-code.com/blog/2016/12/27.html]]
+
-[[Polkit - ArchWiki:https://wiki.archlinux.jp/index.php/Polkit]]
 

        

        
 
$relevantdocs$
$relevantdocs$
 

        

        
 

        

        
 

        

        
 

        

        
-

         
-

         
-

         
-

         
 
*開発環境の設定 [#CustomizeDevEnv]
*開発環境の設定 [#CustomizeDevEnv]
 

        

        
 
**Logwatch
**Logwatch
1931,7 1696,9
 
    use_node_name yes
    use_node_name yes
 
}}
}}
 

        

        
~
localhostからのアクセスのみの許可となっていることを確認する。

         
-
localhostからのアクセスのみを許可するように変更する。
-

         
 
#code(,type=configuration,/etc/munin/munin-node.conf){{
#code(,type=configuration,/etc/munin/munin-node.conf){{
 
allow ^127\.0\.0\.1$
allow ^127\.0\.0\.1$
 
allow ^::1$
allow ^::1$
1954,94 1721,81
 
別途HTTPサーバーの設定を変更して``/etc/munin/munin.conf``の``htmldir``で設定したHTMLの出力先を表示できるようにする。
別途HTTPサーバーの設定を変更して``/etc/munin/munin.conf``の``htmldir``で設定したHTMLの出力先を表示できるようにする。
 

        

        
 

        

        
~
**git-daemon [#CustomizeDevEnv_git-daemon]
**xinetd [#CustomizeDevEnv_xinetd]
~
git-daemonをsystemdサービスとして動作させる。
``/etc/hosts.allow``, ``/etc/hosts.deny``を編集。 この例では、[[svnserve>#CustomizeDevEnv_xinetd_svnserve]], [[git-daemon>#CustomizeDevEnv_xinetd_git-daemon]], [[nfsd>#CustomizeDevEnv_nfsd]]の3つのサービスを有効にする。
-
#code(,type=configuration,/etc/hosts.allow){{
-
svnserve : 127.0.0.1 192.168.0.0/24
-
git-daemon : 127.0.0.1 192.168.0.0/24
-
portmap rpcbind mountd nfsd statd lockd rquotad : 192.168.0.0/24
-
}}
-

         
-
#code(,type=configuration,/etc/hosts.deny){{
-
ALL: PARANOID
-
}}
-

         
-
/etc/xinetd.d/以下の設定ファイルを編集した後、再起動。
-
#code(sh){{
-
sudo service xinetd restart
-
}}
-

         
 

        

        
~
まず、git-daemon用にユーザーとグループを追加する。 (ここではそれぞれIDに602番を用いる)
***git-daemon [#CustomizeDevEnv_xinetd_git-daemon]
-
``/etc/xinetd.d/git``を作成。
-
#code(,type=configuration,/etc/xinetd.d/git){{
-
service git
-
{
-
        disable         = no
-
        type            = UNLISTED
-
        port            = 9418
-
        socket_type     = stream
-
        wait            = no
-
        user            = git
-
        server          = /usr/lib/git-core/git-daemon
-
        server_args     = --inetd --export-all --enable=receive-pack --base-path=/srv/repos/git/
-
        only_from       = 192.168.0.0/24 127.0.0.1
-
        log_on_failure  += USERID
-
}
-
}}
 

        

        
-
git-daemon用にユーザーとグループを追加。 (ここではそれぞれIDに602番を用いる)
 
#code(sh){{
#code(sh){{
 
sudo groupadd -g 602 git
sudo groupadd -g 602 git
 
sudo adduser --uid 602 --gid 602 --disabled-login --disabled-password --no-create-home git
sudo adduser --uid 602 --gid 602 --disabled-login --disabled-password --no-create-home git
 
}}
}}
 

        

        
~
リポジトリを格納するディレクトリがまだない場合は、作成する。
リポジトリを格納するディレクトリがまだない場合は作成する。
~

         
#code{{
+
#code(sh){{
 
sudo -u git mkdir -p /srv/repos/git
sudo -u git mkdir -p /srv/repos/git
 
}}
}}
 

        

        
 

        

        
~

         
***svnserve [#CustomizeDevEnv_xinetd_svnserve]
~
次にgit-daemonをsystemdサービスとして動作させるために、以下の内容でユニットファイルを作成する。
``/etc/xinetd.d/svn``を作成。
~

         
#code(,type=configuration,/etc/xinetd.d/svn){{
~
#code(ini,/etc/systemd/system/git-daemon.service){{
service svn
~
[Unit]
{
~
Description=Git Daemon
        disable         = no
~

         
        socket_type     = stream
~
[Service]
        user            = svn
~
ExecStart=/usr/lib/git-core/git-daemon --export-all --reuseaddr --enable=receive-pack --base-path=/srv/repos/git
        wait            = no
~

         
        server          = /usr/bin/svnserve
~
User=git
        server_args     = -i -r /srv/repos/svn
~
Group=git
        only_from       = 192.168.0.0/24 127.0.0.1
~

         
        log_on_failure  += USERID
~
IPAddressAllow=127.0.0.1 192.168.1.0/24
}
+

         
+
Restart=always
+
RestartSec=500ms
+

         
+
StandardOutput=journal
+
StandardError=journal
+
SyslogIdentifier=git-daemon
+

         
+
[Install]
+
WantedBy=multi-user.target
 
}}
}}
 

        

        
~
``systemctl start git-daemon``でサービスを起動し、``systemctl status git-daemon``で状態を確認する。
svnserve用にユーザーとグループを追加。 (ここではそれぞれIDに601番を用いる)
~

         
#code(sh){{
~
#prompt(emphasize=shell-unix,git-daemonサービスを起動し、状態を確認する){{
sudo groupadd -g 601 svn
~
$ sudo systemctl start git-daemon
sudo adduser --uid 601 --gid 601 --disabled-login --disabled-password --no-create-home svn
+
$ sudo systemctl status git-daemon
+
● git-daemon.service - Git Daemon
+
     Loaded: loaded (/etc/systemd/system/git-daemon.service; disabled; vendor preset: enabled)
+
     Active: active (running) since Sat 2022-09-24 02:38:05 JST; 4s ago
+
   Main PID: 111668 (git-daemon)
+
      Tasks: 1 (limit: 38079)
+
     Memory: 236.0K
+
        CPU: 3ms
+
     CGroup: /system.slice/git-daemon.service
+
             └─111668 /usr/lib/git-core/git-daemon --export-all --reuseaddr --enable=receive-pack --base-path=/srv/repos/git
 
}}
}}
 

        

        
~
この状態で``git clone``等が動作するか確認する。
リポジトリを格納するディレクトリがまだない場合は作成する。
~

         
#code{{
~
動作に問題がなければ、``systemctl enable git-daemon``でブート時に自動的に起動するようにする。
sudo -u svn mkdir -p /srv/repos/svn
+

         
+
#prompt(emphasize=shell-unix,emphasize=brace,git-daemonサービスの自動起動を有効にする){{
+
$ sudo systemctl enable git-daemon
+
Created symlink /etc/systemd/system/multi-user.target.wants/git-daemon.service → /etc/systemd/system/git-daemon.service.
+

         
+
$ sudo systemctl status git-daemon
+
● git-daemon.service - Git Daemon
+
     Loaded: loaded (/etc/systemd/system/git-daemon.service; {{enabled}}; vendor preset: enabled)
+
     Active: active (running) since Sat 2022-09-24 02:38:05 JST; 9min ago
+
   Main PID: 111668 (git-daemon)
+
      Tasks: 1 (limit: 38079)
+
     Memory: 428.0K
+
        CPU: 21ms
+
     CGroup: /system.slice/git-daemon.service
+
             └─111668 /usr/lib/git-core/git-daemon --export-all --reuseaddr --enable=receive-pack --base-path=/srv/repos/git
 
}}
}}
 

        

        
+
$relevantdocs(参考)
+

         
+
-[[Git - Git Daemon:https://git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon]]
+
-[[systemd.service:https://www.freedesktop.org/software/systemd/man/systemd.service.html]]
+
-[[systemd.resource-control:https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html]]
+

         
+
$relevantdocs$
+

         
+

         
 

        

        
 
**Gitクライアント [#CustomizeDevEnv_git-client]
**Gitクライアント [#CustomizeDevEnv_git-client]
 
``git config``で各種初期設定を行う。 または``~/.gitconfig``を編集する。
``git config``で各種初期設定を行う。 または``~/.gitconfig``を編集する。
2076,15 1830,69
 
}}
}}
 

        

        
 
$remarks
$remarks
~
関連: [[#Configure_Bash]]
関連: [[#bashrc]]
 
$remarks$
$remarks$
 

        

        
-
**Subversionクライアント [#subversion_client]
-
適当なsvnコマンドを実行することで``~/.subversion/config``のテンプレートを作成する。
-
#code(sh){{
-
svn help
-
}}
-

         
-
作成された``~/.subversion/config``を編集。
-
#code(ini,type=configuration,~/.subversion/config){{
-
[auth]
-
# 認証情報を保存しない (毎回ユーザ名とパスワードを入力する)
-
store-passwords = no
-
store-auth-creds = no
-
password-stores =
-

         
-
[helpers]
-
# diffの代わりにgit diffを使うラッパーを呼び出す
-
diff-cmd = /home/user/.subversion/git-diff.sh
-

         
-
[tunnels]
-
# ssh = $SVN_SSH ssh
-
# rsh = rsh
-
# rsh = /path/to/rsh -l myusername
-

         
-
[miscellany]
-
# log-encoding = latin1
-
use-commit-times = yes
-
# no-unlock = yes
-
enable-auto-props = yes
-
global-ignores = *.o *.lo *.obj *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.suo *.pidb *.mdb *.userprefs *.usertasks
-

         
-
[auto-props]
-
# 記述例
-
*.cs         = svn:eol-style=native; svn:mime-type=text/plain
-
*.csproj     = svn:eol-style=CRLF; svn:mime-type=text/xml
-
}}
-

         
-
***差分出力にgit diffを使う
-
``git diff``を呼び出すラッパーを``~/.subversion/git-diff.sh``などのファイル名で作成する。 作成したら``chmod u+x``する。
-

         
-
#code(sh,~/.subversion/git-diff.sh){{
-
#!/bin/sh
-
/usr/bin/git --no-pager diff --no-index --color "$6" "$7"
-
}}
-

         
-
次に、``~/.subversion/config``を編集し、``diff-cmd``で作成したラッパーを呼び出すように変更する。
-

         
-
#code(ini,type=configuration,~/.subversion/config){{
-
[helpers]
-
diff-cmd = /home/user/.subversion/git-diff.sh
-
}}
-

         
-
$remarks
-
関連: [[#bashrc]]
-
$remarks$
 

        

        
 
**NFS [#CustomizeDevEnv_nfsd]
**NFS [#CustomizeDevEnv_nfsd]
 
``/etc/exports``を編集。
``/etc/exports``を編集。
 
#code(,type=configuration,/etc/exports){{
#code(,type=configuration,/etc/exports){{
 
# エクスポート設定を追記する
# エクスポート設定を追記する
~
/srv/export/share     server1(rw,sync,no_subtree_check,root_squash,anonuid=500,anongid=500)
/srv/export/share     server1(rw,sync,root_squash,anonuid=500,anongid=500)
 
}}
}}
 

        

        
 
NFSサーバを再起動。
NFSサーバを再起動。
2097,14 1905,14
 
Intel VTが有効になっているか、KVMが利用できるか確認する。
Intel VTが有効になっているか、KVMが利用できるか確認する。
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
 
$ egrep -c '(vmx|svm)' /proc/cpuinfo
$ egrep -c '(vmx|svm)' /proc/cpuinfo
~
8
2
 

        

        
 
$ kvm-ok 
$ kvm-ok 
 
INFO: /dev/kvm exists
INFO: /dev/kvm exists
 
KVM acceleration can be used
KVM acceleration can be used
 
}}
}}
 

        

        
~
***ゲストの設定ファイルの復元
***ゲスト設定ファイルの復元
 
``virsh dumpxml``で設定ファイルのダンプファイルを作成しておく。
``virsh dumpxml``で設定ファイルのダンプファイルを作成しておく。
 
#code(sh){{
#code(sh){{
 
virsh dumpxml guest > guest.xml
virsh dumpxml guest > guest.xml
2118,19 1926,18
 
}}
}}
 

        

        
 

        

        
+

         
 
***PCIパススルーでUSBデバイスを使用できるようにする [#redirect_usb_device]
***PCIパススルーでUSBデバイスを使用できるようにする [#redirect_usb_device]
 
GRUBの設定を変更してIOMMUを有効にしておく(詳細:[[#configure_grub]])。 IOMMUが有効な場合は``dmesg``で以下のようなメッセージが表示されるようになる。
GRUBの設定を変更してIOMMUを有効にしておく(詳細:[[#configure_grub]])。 IOMMUが有効な場合は``dmesg``で以下のようなメッセージが表示されるようになる。
 

        

        
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
~
$ sudo dmesg | grep IOMMU
$ dmesg | grep IOMMU
 
[    0.000000] DMAR: IOMMU enabled
[    0.000000] DMAR: IOMMU enabled
 
}}
}}
 

        

        
 
AppArmorによりアクセス制御がされている場合、USBデバイスへのアクセスが拒絶され、仮想マシンを起動する際に以下のようなメッセージが表示される場合がある。
AppArmorによりアクセス制御がされている場合、USBデバイスへのアクセスが拒絶され、仮想マシンを起動する際に以下のようなメッセージが表示される場合がある。
 

        

        
 
#prompt(emphasize=shell-unix){{
#prompt(emphasize=shell-unix){{
~
$ sudo dmesg | grep libvirt
$ dmesg | grep libvirt
 

        

        
 
[  585.002227] audit: type=1400 audit(1486069534.271:84): apparmor="DENIED" operation="open" profile="libvirt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name="/run/udev/data/c189:1" pid=5275 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
[  585.002227] audit: type=1400 audit(1486069534.271:84): apparmor="DENIED" operation="open" profile="libvirt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name="/run/udev/data/c189:1" pid=5275 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
 
[  585.002277] audit: type=1400 audit(1486069534.271:85): apparmor="DENIED" operation="open" profile="libvirt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name="/run/udev/data/c189:2" pid=5275 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
[  585.002277] audit: type=1400 audit(1486069534.271:85): apparmor="DENIED" operation="open" profile="libvirt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name="/run/udev/data/c189:2" pid=5275 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
2174,57 1981,255
 
その後、再度仮想マシンを起動するとUSBデバイスへのアクセスが許可されるようになる。
その後、再度仮想マシンを起動するとUSBデバイスへのアクセスが許可されるようになる。
 

        

        
 

        

        
+
**udev
+
USBデバイス等のためのudevルールファイルを作成する。
 

        

        
~
-[[electronics/udev_create_persistent_usb_device_symlink]]
**.NET Core / Visual Studio Code
-
***Microsoft製品のLinux Software Repositoryを追加する [#CustomizeDevEnv_configure-microsoft-repository]
-
事前準備としてMicrosoftの公開鍵をインストールする。
-

         
-
#code(sh){{
-
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
-
}}
-

         
-
リポジトリを追加する。
-

         
-
#code(sh){{
-
sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod
-
sudo apt update
-
}}
-

         
-
$relevantdocs(参照)
-

         
-
-[[Microsoft 製品用 Linux ソフトウェアリポジトリ | Microsoft Docs:https://docs.microsoft.com/ja-jp/windows-server/administration/linux-package-repository-for-microsoft-software]]
-

         
-
$relevantdocs$
-

         
-
***.NET Core [#CustomizeDevEnv_dotnet-core-sdk]
-

         
-
あらかじめ[[Microsoftのリポジトリを追加>#CustomizeDevEnv_configure-microsoft-repository]]しておく。
-

         
-
.NET Core SDKをインストールする。
-

         
-
#code(sh){{
-
sudo apt install dotnet-sdk-3.1
-

         
-
# .NET Core 2.1と3.1のSDKをインストールする場合
-
sudo apt install dotnet-sdk-2.1 dotnet-sdk-3.1
-

         
-
# ランタイムのみインストールする場合
-
sudo apt install dotnet-runtime-3.1
-
}}
-

         
-
``dotnet --info``で動作確認とインストール状況を確認する。 (以下は``dotnet-sdk-2.1``と``dotnet-sdk-3.1``をインストールした場合の例)
-

         
-
#prompt(emphasize=shell-unix,動作確認){{
-
$ dotnet --info
-
.NET Core SDK (global.json を反映):
-
 Version:   3.1.202
-
 Commit:    6ea70c8dca
-

         
-
ランタイム環境:
-
 OS Name:     ubuntu
-
 OS Version:  20.04
-
 OS Platform: Linux
-
 RID:         linux-x64
-
 Base Path:   /usr/share/dotnet/sdk/3.1.202/
-

         
-
Host (useful for support):
-
  Version: 3.1.4
-
  Commit:  0090613580
-

         
-
.NET Core SDKs installed:
-
  2.1.806 [/usr/share/dotnet/sdk]
-
  3.1.202 [/usr/share/dotnet/sdk]
-

         
-
.NET Core runtimes installed:
-
  Microsoft.AspNetCore.All 2.1.18 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
-
  Microsoft.AspNetCore.App 2.1.18 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
-
  Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
-
  Microsoft.NETCore.App 2.1.18 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
-
  Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
-

         
-
To install additional .NET Core runtimes or SDKs:
-
  https://aka.ms/dotnet-download
-
}}
-

         
-
$remarks
-

         
-
バイナリからインストールする場合は、[[後述の方法>#CustomizeDevEnv_dotnet-core-sdk_from-binary]]にてインストールすることができる。
-

         
-
$remarks$
-

         
-

         
-
$relevantdocs(関連)
-

         
-
-[[softwares/ubuntu/installation-lts-server#misc_dotnet-core-runtime]]
-

         
-
$relevantdocs$
-

         
-
$relevantdocs(参考)
-

         
-
-[[.NET Downloads for Linux:https://www.microsoft.com/net/download/linux]]
-

         
-
$relevantdocs$
-

         
-

         
-
****バイナリを直接インストールする場合 [#CustomizeDevEnv_dotnet-core-sdk_from-binary]
-
バイナリをダウンロードしたあと、"Install SDK"の手順にあるとおりに適当なディレクトリに展開する。 以下は``/opt/dotnet``にインストールする場合。
-

         
-
#code(sh){{
-
mkdir -p /opt/dotnet
-
tar zxf dotnet-sdk-3.1.201-linux-x64.tar.gz -C /opt/dotnet
-
}}
-

         
-
以下の環境変数を都度設定するか、``~/.bashrc``等に追加して読み込むようにする。
-

         
-
#code(sh){{
-
export DOTNET_ROOT=/opt/dotnet
-
export PATH=$PATH:/opt/dotnet
-
}}
-

         
-
正しく実行できるようなら次のように表示される。
-

         
-
#prompt(emphasize=shell-unix){{
-
$ which dotnet
-
/opt/dotnet/dotnet
-

         
-
$ dotnet --info
-
.NET Core SDK (global.json を反映):
-
 Version:   3.1.201
-
 Commit:    b1768b4ae7
-

         
-
ランタイム環境:
-
 OS Name:     ubuntu
-
 OS Version:  20.04
-
 OS Platform: Linux
-
 RID:         linux-x64
-
 Base Path:   /opt/dotnet/sdk/3.1.201/
-

         
-
Host (useful for support):
-
  Version: 3.1.3
-
  Commit:  4a9f85e9f8
-

         
-
.NET Core SDKs installed:
-
  3.1.201 [/opt/dotnet/sdk]
-

         
-
.NET Core runtimes installed:
-
  Microsoft.AspNetCore.App 3.1.3 [/opt/dotnet/shared/Microsoft.AspNetCore.App]
-
  Microsoft.NETCore.App 3.1.3 [/opt/dotnet/shared/Microsoft.NETCore.App]
-

         
-
To install additional .NET Core runtimes or SDKs:
-
  https://aka.ms/dotnet-download
-
}}
-

         
-

         
-
***Visual Studio Code
-
あらかじめ[[Microsoftのリポジトリを追加>#CustomizeDevEnv_configure-microsoft-repository]]しておく。
-

         
-
$remarks
-

         
-
2020-04-30時点では、MicrosoftのリポジトリでUbuntu 20.04向けのVisual Studio Codeパッケージが公開されておらず、``apt install``ではインストールすることができない。
-

         
-
Snapから``snap install``でインストールすることはできる。
-

         
-
$remarks$
 

        

        
-
Visual Studio Codeをインストールする。
 

        

        
-
#code(sh){{
-
sudo apt install code
-
}}
 

        

        
+
**PHP
+
PHP 8.1の設定。 またFastCGIでPHPを使用するための設定など。
 

        

        
+
***mbstringを有効にする
+
デフォルトでは``mbstring``モジュールがインストールされていないので、インストールする。
 

        

        
~
#code(sh,php-mbstringのインストール){{
``snap``でインストールする場合は以下のとおり。
~
sudo apt install php-mbstring

         
-
#code(sh){{
-
sudo snap install code --classic
 
}}
}}
 

        

        
~
``/etc/php/8.1/fpm/php.ini``あるいは``/etc/php/8.1/cli/php.ini``を編集して、コメントアウトされている``extension=mbstring``を有効にする。
インストールできた場合、``snap list``で次のように表示される。
 

        

        
~
#code(diff,/etc/php/8.1/*/php.ini){{
#prompt(emphasize=shell-unix){{
~
-;extension=mbstring
$ snap list code
~
+extension=mbstring
Name  Version   Rev  Tracking       Publisher  Notes
-
code  ff915844  31   latest/stable  vscode✓    classic
 
}}
}}
 

        

        
+
phpinfoを表示して、``mbstring``が```enabled```になっていればOK。
 

        

        
~
***FastCGI
**MonoDevelop
~
FastCGIでPHPスクリプトを動作させる場合は、``/var/run/php/php-fpm.sock``を使用する。 nginxの場合は以下のように設定する。
$remarks
-

         
-
2020-04-30時点では、Mono ProjectのリポジトリでUbuntu 20.04向けのMonoDevelopパッケージが公開されていない。 以下はUbuntu 18.04向けのリポジトリからインストールする手順となる。
-

         
-
$remarks$
-

         
-
Mono projectのリポジトリを追加する。
-

         
-
#code(sh){{
-
sudo apt install apt-transport-https
-
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
-
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
-
# echo "deb https://download.mono-project.com/repo/ubuntu vs-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
-
sudo apt update
-
}}
 

        

        
~
#code(,/etc/nginx/sites-enabled/host.conf){{
MonoDevelopをインストールする。
+
server {
+
    :
+
    :
+
  location /index.php {
+
    # デフォルトの設定をincludeする
+
    include snippets/fastcgi-php.conf;
 

        

        
~
    # PHP FPMのunix socketのパスを指定する
#code(sh){{
~
    fastcgi_pass unix:/var/run/php/php-fpm.sock;
sudo apt install monodevelop/vs-bionic
+
      :
+
      :
+
  }
+
}
 
}}
}}
 

        

        
 

        

        
~
**その他のソフトウェアのビルド・インストール

         
-
**その他
-
***udevルールファイルの作成
-
-[[electronics/udev_create_persistent_usb_device_symlink]]
-

         
-
***ソフトウェアのビルド・インストール
-
-[[programming/mono/build_install]] (Mono)
-
-[[softwares/libav]]
-
-[[softwares/highlight]]
 
-[[electronics/ArduinoIDE]]
-[[electronics/ArduinoIDE]]
 

        

        
 

        

        
~
#commentout{{{

         
 
*トラブルシューティング・未解決問題
*トラブルシューティング・未解決問題
~
}}}
**LibGit2Sharp
-
0.26.2時点のLibGit2Sharpでは``libssl-1.0.0``を必要とする一方、Ubuntu 20.04では``libssl-1.1``がインストールされるため、``libgit2-106a5f2.so``がロードできずにDllNotFoundExceptionがスローされる。
-

         
-
#prompt(emphasize=shell-unix,libsslとlibcryptoが見つからずlibgit2-106a5f2.soがロードできない,emphasize=brace){{
-
$ ldd libgit2-106a5f2.so
-
	linux-vdso.so.1 (0x00007ffc6cda6000)
-
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f727232b000)
-
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7272308000)
-
	libssl.so.1.0.0 => {{not found}}
-
	libcrypto.so.1.0.0 => {{not found}}
-
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7272116000)
-
	/lib64/ld-linux-x86-64.so.2 (0x00007f727267f000)
-
}}
-

         
-
更新されるまでの代替処置として、[[18.04のlibssl-1.0.0 debパッケージ>https://packages.ubuntu.com/bionic-updates/libssl1.0.0]]をダウンロードして直接インストールする。
-

         
-
#code(sh){{
-
sudo apt install ./libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb 
-
}}
-

         
-
以降、``libssl-1.0.0``を参照する``libgit2-106a5f2.so``がロードできるようになる。
-

         
-
#prompt(emphasize=shell-unix,libgit2-106a5f2.soがロードできるようになる,emphasize=brace){{
-
$ ldd libgit2-106a5f2.so
-
	linux-vdso.so.1 (0x00007ffe671df000)
-
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f29d7fad000)
-
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f29d7f8a000)
-
	libssl.so.1.0.0 => {{/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f29d7d22000)}}
-
	libcrypto.so.1.0.0 => {{/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f29d78df000)}}
-
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f29d76ed000)
-
	/lib64/ld-linux-x86-64.so.2 (0x00007f29d8301000)
-
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f29d76e7000)
-
}}
-

         
-

         
-
**Thunderbirdのメール通知音が鳴らない
-
[設定]→[アプリケーション]→[Play and record sound]をオンにしても鳴らない。 未解決。
-