Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

CentOS 8.2 のGNOME にてfeatherpad をソースからビルド〈H84〉

登録日: 2020-07-30 更新日: 2020-07-31

Fedora 32(GNOME Wayland)では、今のところ「Qt アプリ」で日本語入力できません。

CentOS 8.2 ではどうなのか確認しました。epel リポジトリFedora アプリの一部流用)の追加でも、Qt アプリが見つからないので、よく使っているfeatherpad をソースからビルドしてみました。

-

「目次」

-

使用環境:

CentOS 8.2 (GNOME デスクトップ環境):

CentOS」の「CentOS-8.2.2004」をUSB メモリにインストール して、そこに「GNOME」デスクトップ環境をインストール しました。そして、「epel」リポジトリを追加しています。

-


featherpad をソースからビルド

-

公式サイト:

tsujan/FeatherPad

-

ビルドとインストール、翻訳の手順:

INSTALL

-

1. 作業用に、~/Git/ フォルダ作成(任意)

$ cd
$ mkdir Git

-

2. git があるか確認:

$ git --version
git version 2.18.4

-

3. ビルドの依存関係をインストール:

Red HatFedora の場合:

$ sudo dnf update

-

パッケージをまとめてインストールします:

$ sudo dnf install gcc-c++ libX11-devel libXext-devel qt5-qtx11extras-devel qt5-qtbase-devel qt5-qtsvg-devel hunspell-devel qt5-qttools-devel

-

参考: インストールの状態を確認したいので、ひとつずつインストール:

こちらは上記のインストールを行えば必要ありません。

完了時に表示される「インストール済み」は「インストール完了」のことです。

$ sudo dnf install gcc-c++
:
インストール済み:
  cpp-8.3.1-5.el8.0.2.x86_64                   gcc-8.3.1-5.el8.0.2.x86_64      
  gcc-c++-8.3.1-5.el8.0.2.x86_64               isl-0.16.1-6.el8.x86_64         
  libstdc++-devel-8.3.1-5.el8.0.2.x86_64

-

$ sudo dnf install libX11-devel
:
インストール済み:
  libX11-devel-1.6.8-3.el8.x86_64    libXau-devel-1.0.8-13.el8.x86_64          
  libxcb-devel-1.13.1-1.el8.x86_64   xorg-x11-proto-devel-2018.4-1.el8.noarch

-

$ sudo dnf install libXext-devel
:
インストール済み:
  libXext-devel-1.3.3-9.el8.x86_64

-

$ sudo dnf install qt5-qtx11extras-devel
:
インストール済み:
  cmake-3.11.4-7.el8.x86_64                                                     
  cmake-data-3.11.4-7.el8.noarch                                                
  cmake-filesystem-3.11.4-7.el8.x86_64                                          
  cmake-rpm-macros-3.11.4-7.el8.noarch                                          
  libglvnd-core-devel-1:1.2.0-6.el8.x86_64                                      
  libglvnd-devel-1:1.2.0-6.el8.x86_64                                           
  libglvnd-opengl-1:1.2.0-6.el8.x86_64                                          
  libuv-1:1.23.1-1.el8.x86_64                                                   
  qt5-qtbase-devel-5.12.5-4.el8.x86_64                                          
  qt5-qtx11extras-devel-5.12.5-1.el8.x86_64                                     
  qt5-rpm-macros-5.12.5-3.el8.noarch

-

$ sudo dnf install qt5-qtbase-devel
:
パッケージ qt5-qtbase-devel-5.12.5-4.el8.x86_64 はすでにインストールされています

-

$ sudo dnf install qt5-qtsvg-devel
:
インストール済み:
  qt5-qtsvg-devel-5.12.5-1.el8.x86_64

-

$ sudo dnf install hunspell-devel
:
インストール済み:
  hunspell-devel-1.6.2-1.el8.x86_64   ←(qmake で問題が発生)

-

$ sudo dnf install qt5-qttools-devel
:
インストール済み:
  clang-libs-9.0.1-2.module_el8.2.0+309+0c7b6b03.x86_64                         
  compiler-rt-9.0.1-2.module_el8.2.0+309+0c7b6b03.x86_64                        
  libomp-9.0.1-1.module_el8.2.0+309+0c7b6b03.x86_64                             
  qt5-designer-5.12.5-1.el8.0.1.x86_64                                          
  qt5-doctools-5.12.5-1.el8.0.1.x86_64                                          
  qt5-linguist-5.12.5-1.el8.0.1.x86_64                                          
  qt5-qttools-5.12.5-1.el8.0.1.x86_64                                           
  qt5-qttools-devel-5.12.5-1.el8.0.1.x86_64                                     
  qt5-qttools-libs-designercomponents-5.12.5-1.el8.0.1.x86_64                   
  qt5-qttools-libs-help-5.12.5-1.el8.0.1.x86_64

→Qt アプリをいくつかインストールしたので、すでに入っているパッケージがありました。

-

4. ソースをダウンロード:

$ cd ~/Git/

[~/Git]$ git clone https://github.com/tsujan/FeatherPad.git

[~/Git]$ cd ~/Git/FeatherPad/

[~/Git/FeatherPad]$ ls -a
.   .git            COPYING    INSTALL  README.md  featherpad  screenshots
..  CMakeLists.txt  ChangeLog  NEWS     cmake      fp.pro

→git を使う場合、「.git 」があるのがポイントです。今回は使いません。

-


ここからは、ビルドに使うツールで、手順が別れます

5. cmake を使ってビルドする場合
7. qmake を使ってビルドする場合  ←(参考)

-


5. cmake を使ってビルドする場合:  ←(成功)

  • 「7.qmake を使ってビルドする場合」を実行して完了していれば、ここの手順は要りません。

  • もし、ビルドに失敗したら、「~/Git/FeatherPad」にある「build」フォルダを削除して、5-2. cmake からやり直します。

-

5-1. ビルドのツールが準備できているか確認:

$ make --version
GNU Make 4.2.1

$ cmake --version
cmake version 3.11.4

-

5-2. cmake を実行:

$ cd ~/Git/FeatherPad/
[~/Git/FeatherPad]$ mkdir build && cd build

→「build」フォルダを作成、そこに出力して作業エリアを分離しています。汚れません。

-

[~/Git/FeatherPad/build]$ cmake ..

-- The C compiler identification is GNU 8.3.1
-- The CXX compiler identification is GNU 8.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2") 
-- Found HUNSPELL: /usr/lib64/libhunspell-1.6.so (found suitable version "1.6.2", minimum required is "1.6") 
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib64/libX11.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubn/Git/FeatherPad/build

→これは使われるツール類がそろっているかのチェックです。エラーがないことを確認。 エラー表示されるなら依存パッケージが不足しています。

[~/Git/FeatherPad/build]$ ls
CMakeCache.txt  CMakeFiles  Makefile  cmake_install.cmake  featherpad

→新しく作られた「build」フォルダは空でしたが、多くのファイルが作られました。

-

5-3. make を実行:

[~/Git/FeatherPad/build]$ make

Scanning dependencies of target featherpad_autogen
[  1%] Automatic MOC and UIC for target featherpad
[  1%] Built target featherpad_autogen
:
[100%] Creating fpad as a symlink to featherpad
[100%] Built target fpad_symlink

確認:

[~/Git/FeatherPad/build]$ ls
CMakeCache.txt  CMakeFiles  Makefile  cmake_install.cmake  featherpad

[~/Git/FeatherPad/build]$ ls featherpad/
CMakeFiles           featherpad_da.qm  featherpad_id.qm     featherpad_pt_BR.qm
Makefile             featherpad_de.qm  featherpad_it.qm     featherpad_pt_PT.qm
cmake_install.cmake  featherpad_el.qm  featherpad_ja.qm     featherpad_ru.qm
featherpad           featherpad_eo.qm  featherpad_ko.qm     featherpad_sk_SK.qm
featherpad_ar_DZ.qm  featherpad_es.qm  featherpad_lt.qm     featherpad_tr.qm
featherpad_autogen   featherpad_fa.qm  featherpad_nb_NO.qm  featherpad_zh_CN.qm
featherpad_cs.qm     featherpad_fr.qm  featherpad_nl.qm     featherpad_zh_TW.qm
featherpad_cy.qm     featherpad_hu.qm  featherpad_pl.qm     fpad

[~/Git/FeatherPad/build]$ ls featherpad/featherpad_autogen/
EWIEGA46WW  QYFM2Z2WYQ  include  moc_predefs.h  mocs_compilation.cpp

-

5-4. インストール

[~/Git/FeatherPad/build]$ sudo make install

[sudo]  パスワード:
[  1%] Automatic MOC and UIC for target featherpad
[  1%] Built target featherpad_autogen
[ 98%] Built target featherpad
[100%] Creating fpad as a symlink to featherpad
[100%] Built target fpad_symlink
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/share/featherpad/translations/featherpad_ar_DZ.qm
-- Installing: /usr/share/featherpad/translations/featherpad_cs.qm
-- Installing: /usr/share/featherpad/translations/featherpad_cy.qm
-- Installing: /usr/share/featherpad/translations/featherpad_da.qm
-- Installing: /usr/share/featherpad/translations/featherpad_de.qm
-- Installing: /usr/share/featherpad/translations/featherpad_el.qm
-- Installing: /usr/share/featherpad/translations/featherpad_eo.qm
-- Installing: /usr/share/featherpad/translations/featherpad_es.qm
-- Installing: /usr/share/featherpad/translations/featherpad_fa.qm
-- Installing: /usr/share/featherpad/translations/featherpad_fr.qm
-- Installing: /usr/share/featherpad/translations/featherpad_hu.qm
-- Installing: /usr/share/featherpad/translations/featherpad_id.qm
-- Installing: /usr/share/featherpad/translations/featherpad_it.qm
-- Installing: /usr/share/featherpad/translations/featherpad_ja.qm
-- Installing: /usr/share/featherpad/translations/featherpad_ko.qm
-- Installing: /usr/share/featherpad/translations/featherpad_lt.qm
-- Installing: /usr/share/featherpad/translations/featherpad_nb_NO.qm
-- Installing: /usr/share/featherpad/translations/featherpad_nl.qm
-- Installing: /usr/share/featherpad/translations/featherpad_pl.qm
-- Installing: /usr/share/featherpad/translations/featherpad_pt_BR.qm
-- Installing: /usr/share/featherpad/translations/featherpad_pt_PT.qm
-- Installing: /usr/share/featherpad/translations/featherpad_ru.qm
-- Installing: /usr/share/featherpad/translations/featherpad_sk_SK.qm
-- Installing: /usr/share/featherpad/translations/featherpad_tr.qm
-- Installing: /usr/share/featherpad/translations/featherpad_zh_CN.qm
-- Installing: /usr/share/featherpad/translations/featherpad_zh_TW.qm
-- Installing: /usr/bin/featherpad
-- Installing: /usr/share/applications/featherpad.desktop
-- Installing: /usr/share/icons/hicolor/scalable/apps/featherpad.svg
-- Installing: /usr/share/featherpad/help
-- Installing: /usr/share/featherpad/help_ja
-- Installing: /usr/bin/fpad

→インストールが完了しました。

どこにどのファイルが配置されたかが見えます。

-

5-5. 確認:

$ which featherpad
/usr/bin/featherpad

$ whereis featherpad
featherpad: /usr/bin/featherpad /usr/share/featherpad

featherpad の設定ファイル:

$ ls ~/.config/featherpad
fp.conf

-

5-6. 端末にて、バージョン表示:

$ featherpad --version
FeatherPad 0.15.0

→端末にてバージョン表示させても、Wayland の警告が表示されません。 バージョンはすごく上がってます。

-

5-7. 端末から、featherpad を起動:

$ featherpad
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

→メッセージを確認するために、端末で featherpad を起動すると、Qt アプリで表示される、Wayland の警告が表示されました。

featherpad は起動され、日本語入力できました。

-

5-8. メニューから、featherpad を起動

Ctrl + Windows キー →FeatherPad

→メニューのfeatherpad アプリのアイコンが「未定義アイコン」です。

-

アプリが起動されました:

→日本語入力できました。

-

5-9. 画面を見やすく設定

行番号を表示して、背景を暗く変更しました:

Markdown ファイルが、見やすい色で表示されるのが利点です。

-


6. メニューのfeatherpad の「未定義アイコン」を解消

featherpad をビルドしてインストールすると、メニューのアプリアイコンが「未定義アイコン」でした。

  • アプリのアイコンのデータベースの更新が必要です。

コマンドを忘れました。 他のアプリをインストールすればインストーラがデータベースを更新して解消してくれるので、それで対処します。

インストールするアプリは何でもよいはずです。

IDLE は、通常、Python と一緒にインストールされていますが、こちらの CentOSGNOME には入っていません。 インストール時のソフトウェア選択で違うのかな。よい機会なので入れてみました。

-

IDLE3 のインストール:

$ sudo dnf install python3-idle
:
インストール済み:
  python3-idle-3.6.8-23.el8.x86_64 

-

IDLE3 をインストールした後、featherpad アプリのアイコンが正常になりました:

-


7. qmake を使ってビルドする場合:   ←(参考です)

  • 「5. cmake を使ってビルドする場合」を実行して完了していれば、ここの手順は要りません。

  • ビルドに失敗したら、「~/Git」フォルダにある「FeatherPad」フォルダを削除して、「4. ソースをダウンロード:」からやり直します。

-

7-1. ビルドのツールが準備できたか確認:

$ make --version
GNU Make 4.2.1

-

$ qmake --version
bash: qmake: コマンドが見つかりませんでした...

$ ls /usr/lib64/qt5/bin/qmake
/usr/lib64/qt5/bin/qmake

$ /usr/lib64/qt5/bin/qmake --version
QMake version 3.1
Using Qt version 5.12.5 in /usr/lib64

→パスが通っていません。使うときはパス指定が必要です。

-


7-2. qmake のための修正:

Qt5の「lrelease」バイナリのフルパスを調べます:
$ ls /usr/lib64/qt5/bin/lrelease
/usr/lib64/qt5/bin/lrelease

-

「featherpad/featherpad.pro」を修正します:
$ cd ~/Git/FeatherPad/
[~/Git/FeatherPad]$ gedit featherpad/featherpad.pro

テキストエディタにて、「lrelease」で検索:

95 行目以降を 2つ修正します:

  #TRANSLATIONS
  exists($$[QT_INSTALL_BINS]/lrelease) {
    TRANSLATIONS = $$system("find data/translations/ -name 'featherpad_*.ts'")
    updateqm.input = TRANSLATIONS
    updateqm.output = data/translations/translations/${QMAKE_FILE_BASE}.qm
    updateqm.commands = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm data/translations/translations/${QMAKE_FILE_BASE}.qm

$$[QT_INSTALL_BINS]/lrelease/usr/lib64/qt5/bin/lrelease に修正:

  #TRANSLATIONS
  exists(/usr/lib64/qt5/bin/lrelease) {
    TRANSLATIONS = $$system("find data/translations/ -name 'featherpad_*.ts'")
    updateqm.input = TRANSLATIONS
    updateqm.output = data/translations/translations/${QMAKE_FILE_BASE}.qm
    updateqm.commands = /usr/lib64/qt5/bin/lrelease ${QMAKE_FILE_IN} -qm data/translations/translations/${QMAKE_FILE_BASE}.qm

→ゴミが残らないように注意。

-


7-3. ビルド  ←(実行にてエラー)

$ cd ~/Git/FeatherPad/

[~/Git/FeatherPad]$ /usr/lib64/qt5/bin/qmake && make 
:
/usr/bin/ld: -lhunspell が見つかりません
collect2: エラー: ld はステータス 1 で終了しました

→hunspell に関連するライブラリが足りないようです。

(ちなみに、切り分けのために qmake と make を分けようとしたら、実行できませんでした。)

-

確認:

$ dnf list hunspell*
:
インストール済みパッケージ
hunspell.x86_64                    1.6.2-1.el8                        @AppStream
hunspell-devel.x86_64              1.6.2-1.el8                        @AppStream
hunspell-en-US.noarch              0.20140811.1-12.el8                @AppStream

利用可能なパッケージ
hunspell-af.noarch                 0.20080825-16.el8                  AppStream 
:
hunspell-zu.noarch                 0.20100126-16.el8                  AppStream 

→hunspell パッケージはインストールされていました。 「/usr/lib64/libhunspell-1.6.so」もあります。スペルチェックの機能なので日本には関係なく、利用可能なパッケージに hunspell-ja はありません。en-US が入っているのでこれで良さそう。

-

試しに、問題のhunspell を実行してみます:

スペルチェックの辞書管理ツールのようです。

$ hunspell --version
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.6.2)

$ hunspell -D
:
AVAILABLE DICTIONARIES (path is not mandatory for -d option):
/usr/share/myspell/en_US
Can't open affix or dictionary files for dictionary named "ja_JP".

→en_US はあって、ja_JP はない、と言っています。

スペル辞書ファイル:

$ ls -1 /usr/share/myspell/
en_US.aff
en_US.dic

-

バージョンの問題かもしれないので、cmake の出力メッセージを確認すると「適切なバージョン「1.6.2」が見つかりました。 最低限必要なのは「1.6」です」と表示されているので、バージョンは良さそうです。

→「INSTALL」のインストール説明には、「Fedora のようなRed Hat ベースの場合」と書かれていました。

Fedora で確認されていてもCentOS で動作確認されているかは微妙です。 もしかしたら、Fedora ならビルドがうまく行くかもしれません。

-

CentOS だと「5. cmakeを使ってビルドする場合」の手順でビルドするのが良いみたい。

-


7-4. インストール:  ←(未実施)

[~/Git/FeatherPad]$ sudo make install

→7-3. ビルドが失敗したので、こちらのインストールは未実施。

-


8. 翻訳(ローカリゼーション)についての注意書き

  • ファイル「featherpad/data/translations/featherpad.ts」は、翻訳するときの原本です。

  • 翻訳した「featherpad_ja_JP.ts」ファイルは、「featherpad_LN.ts」と同じディレクトリに保存します。

  • FeatherPad を自分の国の言語に翻訳されたなら、 https://github.com/tsujan/FeatherPad で「プルリクエスト」(PR) してください。

-

9. ヘルプを表示してみます:

  • オプションで、ヘルプファイル「/usr/share/featherpad/data/help」の代わりにロケール名を付けた「/usr/share/featherpad/data/help_ja」を置けます。これにより、英語のヘルプの代わりに表示されます。

ヘルプはタブとして開かれます:

→「help_ja」ファイルが、色違いの「タブ」として開きます。

  • 単なるテキストファイルですが、書き込み保護されていて、Ctrl+H で起動できます。これが利点。

編集することで、貼り付けてよく使う文字列を書いておいたり、備忘録、手順書、よく使うコマンドなど、個人的な別の目的に利用できます。ヘルプの内容は残しておいて、先頭部分に追記します。

ヘルプファイルの編集:

$ sudo nano /usr/share/featherpad/help_ja

→なぜかgedit だとsudo を付けると拒否されます。

nano の操作:

Ctrl+ O: 書き込み Ctrl+ X: 終了

-


参考: Manjaro GNOME でビルドする場合:

  • featherpad を最新にビルドするにはAUR にある *-git を選びます:

→Arch Linux とかManjaro の場合、(ビルドが含まれていても)インストールはコマンド一発です。

注意点は、そのパッケージ名についたバージョン番号は気にしないことです。 それはインストールスクリプトに書かれた仮のバージョンです。 GitHub から最新がダウンロードされインストールされるので、アプリ自体は最新になります。

$ yay -S featherpad-git

AUR のアプリ名が git 付きの場合、ほとんどのものが自動で依存パッケージを解決してくれます。依存をインストールし、ソースのダウンロード後にビルドして、パッケージマネージャで管理できるようにわざわざ一度パッケージ化、そのパッケージでインストールしてくれます。

パッケージとしてインストールされるので、通常のアプリのインストールと同じです。 アプリの更新があれば通知され、更新ができます。よく考えられたしくみです。

-

  • 通常行うビルド(下記の作業)では、こうは行きません。 更新したいときは同じ作業を再び行う必要があります。また、アプリのバージョンが上がれば、依存関係も変化します。

スムーズにビルドできるかは、開発者の方が、各ディストリビューションごとにちゃんと動作確認し、より詳しくインストール説明を書いてくれているかです。featherpad の説明は親切に書かれています。(感謝)

-

ビルドではその前段階の準備が重要です。まずは必要な「依存パッケージ」を調べます。 ディストリビューションごとにパッケージ名は異なりますし、機能の含まれ方も違います。 ディストリビューションによっては手順が書かれていない場合もあります。

ビルドしてみてわかる漏れもあるわけで、ビルドでエラーするごとにやり直します。ビルドを断念する場合もあります。

→コマンド一発でこの投稿の作業を自動で行ってくれます。

AUR の場合は、アプリの登録のとき登録者の手でその手順がインストールスクリプトとして書かれています。 だからビルドの成功率が高いわけですし、利用者も依存を気にする必要がありません。楽ができます。

セキュリティ上のリスクはあるけど、不安なら、スクリプトを確認してからインストールできます。

-


まとめ

Fedora 32 と違い、CentOS 8.2 のGNOME (Wayland) では、「Qt アプリ」のFetherPad で日本語入力できました。

他の「Qt アプリ」も日本語入力できる可能性があります。 CentOS では、リポジトリに「Qt アプリ」が少ないので、欲しいアプリがあれば flatpak にもないのなら、ビルドにトライしてもいいかも…。

-

-


目次

先頭

-


-

CentOS 8.2 のGNOME にPython 学習環境をインストール〈H83〉

登録日: 2020-07-28 更新日: 2020-07-28

前回は、最新の「CentOS」である「CentOS-8.2.2004」をUSB メモリにインストール して、GNOME デスクトップ環境をインストール しました。

今回は、そこに「 Python の学習環境 」を構築してみました。おかげで、Python の仮想環境についても勉強できました。 これで、小さなプログラムを作成しながら、学習できると思います。ゆくゆくはPython の開発ができるといいですね。

-

「目次」

-

GNOME デスクトップ:

-

参考:

CentOS wiki

Red Hat 社が商用 Linux の「RHEL」のソースを公開しています。そのソースを使い、「CentOS Project」コミュニティが商標部分を取り除いてビルドし直した Linux ディストリビューションが、CentOSセントオーエス)です。 商用のRHEL と機能的に高い互換性を持ちます。

つまり、無料でありながら、商用OS の品質があります

ただし、ミラーサイトや、リポジトリなどは違うので、インストールできるアプリに制限があります 。 サーバーでの使用がメインなので、必然的にデスクトップで使うアプリは少なくなります。しかたないことかな。

-


前回 からの続きです。

CentOS を起動します。

-

ブート選択のメニュー:

CentOS Linux (4.18.0-193.6.3.e18_2.x86_64) 8 (Core) 
CentOS Linux (4.18.0-193.e18.x86_64) 8 (Core) 
CentOS Linux (0-rescue-) 8 (Core) 

3秒待ち

-


ログイン画面

パスワードを入れて、ログイン

-


デスクトップ画面が表示されます

-


CentOS に、Fedora 提供の「epel」リポジトリを追加

  • 前回この作業は完了しています。(念の為に記載)

Fedora で検証された高品質のパッケージを RHELCentOS のような互換ディストリビューションでも使えるようにしたのが「epel」リポジトリです。 Fedora のすべてのパッケージが登録されているわけではありませんが、インストールできる可能性が高くなります。

CentOS では、「epel-release」のインストールで「epel」リポジトリが使えるようになります。

-

epel を追加:

$ sudo dnf install epel-release

$ sudo dnf update

-


Python が使える環境にします:

Python の利点は、「パッケージ化された機能の再利用が簡単」なこと、「いろいろな機能のパッケージを無料で簡単に手に入れられる」ことです。これによりプログラミングの省力化ができるので人気があります。

-

まずは、Python の初期設定を見直します。

参考:

Red Hat Enterprise Linux 8 のPython事情

CentOS 8.2 にて確認:

$ cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core) 

$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

抜粋:

  • RHEL 8 のデフォルトでは「python」コマンドは存在せず、「python3」コマンドがあります。

  • 意見が半々だったので、ユーザの事情にあわせて「python」コマンドを python2 または python3 に設定できるように、定義なしになっています。

  • pythonスクリプト#!/usr/bin/python のような記述は #!/usr/bin/python3 のように変更することが推奨されます。

  • RHEL 8 の最小インストールでは「python3」コマンドが含まれず、システムツールで使われる /usr/libexec/platform-python (no-python) がありますが、ユーザ利用は推奨されません。

  • 設定方法は下記。詳細は man python(1) を参照:

-

alternatives コマンドにて、シンボリックリンクを操作して設定します

- 対話的に設定: alternatives --config python

- Python 3 に設定: alternatives --set python /usr/bin/python3

- Python 2 に設定: alternatives --set python /usr/bin/python2

- デフォルトに戻す: alternatives --auto

-

python がインストールされているか確認:

$ python3 --version
Python 3.6.8

$ python --version
bash: python: コマンドが見つかりませんでした...

→Python3 はインストールされていますが、リンクされてません。

-

pip がインストールされているか確認:

$ pip3 --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

$ pip --version
bash: pip: コマンドが見つかりませんでした...

→pip3 はインストールされていますが、リンクされてません。

-


python でpython3 を呼び出せるようにします:

バージョンの切り替えは、「--config」を使用すると対話形式で選択できます。

バージョンの切り替え:

$ sudo alternatives --config python
:
2 プログラムがあり 'python' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3

→「2」を入力して、Enter

-

確認:

$ python --version
Python 3.6.8

-


pip でpip3 を呼び出せるようにします:

参考:

How to change pip3 command to be pip?

→依存関係を維持しながら、使用するバージョンを登録できます

-

Linuxの場合:

$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

-

バージョンの切り替え:

$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

確認:

$ pip --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

-

alternativesでのステータス、優先度などを確認:

$ alternatives --display python

python - ステータスは手動です。
リンクは現在 /usr/bin/python3 を指しています。

/usr/libexec/no-python - priority 404
 スレーブ unversioned-python: (null)
 スレーブ unversioned-python-man: /usr/share/man/man1/unversioned-python.1.gz

/usr/bin/python3 - priority 300
 スレーブ unversioned-python: /usr/bin/python3
 スレーブ unversioned-python-man: /usr/share/man/man1/python3.1.gz
現在の「最適」バージョンは /usr/libexec/no-python です。

-

$ alternatives --display pip

pip -ステータスは自動です。
リンクは現在 /usr/bin/pip3 を指しています。

/usr/bin/pip3 - priority 1
現在の「最適」バージョンは /usr/bin/pip3 です。

-

実際のシンボリックリンクの確認:

$ ls -l /etc/alternatives/python
lrwxrwxrwx. 1 root root 16  7月 24 02:53 /etc/alternatives/python -> /usr/bin/python3

$ ls -l /etc/alternatives/pip
lrwxrwxrwx. 1 root root 13  7月 24 02:57 /etc/alternatives/pip -> /usr/bin/pip3

→/etc/alternatives/ にリンクが置かれて、バージョン管理されてます

-


端末にて、プログラムを実行してみます:

$ python
Python 3.6.8 (default, Apr 16 2020, 01:36:27) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

プロンプトに入力:

>>> print("Hello world!")
Hello world!

→Enter キーですぐに実行されます。 昔流行ったBasic インタプリタみたいな使い方です。

-

終了:

>>> exit()
$ 

→Ctrl+D でも終了できます。

-


プログラムファイルを作成して実行してみます:

フォルダを作成:

$ cd
$ mkdir code

-

プログラムファイルを作成

$ nano ~/code/hello.py

↓ 下記を入力:

print("Hello world!")

→nano の操作は、Ctrl+O で保存、Ctrl+X で閉じます。

-

実行:

$ cd ~/code/
$ python hello.py

Hello world!

-


pip について

「pip」は 、Python で書かれたパッケージ(外部のライブラリ)をインストールするときに使うツールです。 Python 本体に同梱されてます。

$ pip --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

→pip はとても古いバージョンでした。

-

ヘルプ表示(和訳と抜粋):

$ pip --help

Usage:   
  pip <command> [options]

Commands:
  install         パッケージをインストール
  download        パッケージをダウンロード
  uninstall       パッケージをアンインストール
  freeze          インストールされたパッケージを要件の形式で出力
  list            インストールされているパッケージを一覧表示
  show            インストールされているパッケージに関する情報を表示
  check           インストールされたパッケージに互換性のある依存関係があることを確認
  search          PyPI リポジトリにてパッケージを検索
  wheel           要件からwheel を構築
  hash            パッケージアーカイブのハッシュを計算
  completion      コマンド補完に使用されるヘルパーコマンド
  help            コマンドのヘルプを表示

-

ポイントは、「pip のアップグレードは仮想環境で行うこと」です

  • もし、pip を使ってアプリのインストールをするなら、後半に書いた「仮想環境」で作業するのがオススメです

仮想環境を作ってインストールすれば、システムと干渉しないので問題の発生が少なくなります。 完全に分離されているので、問題があっても仮想環境名のフォルダを削除するだけで済みます。

-

これ以降の記事は、システムが汚れるので、本番のシステムではやらない方が無難です。

「どのような問題が出るのか」の参考にしてください。

-

Python の環境の構築は、後半に書いた「仮想環境」を使った作業をオススメします

-


「Thonny」のインストール

構文チェックできるPython のエディタです。最近の「ラズパイOS」には、このアプリが入っているみたい。

最初の起動時に「Standard」か「Raspberry Pi」を選びます。

-

pip でthonny を検索:

$ pip search thonny
:
thonny (3.2.7)                       - Python IDE for beginners

-

pip でインストールします:

$ pip install --user thonny

→pip では、システムファイルを上書きしないために「sudo」は禁止されてます。 「--user」を付けてユーザのホームにインストールすることが推奨です。何かあっても安心です。

$ whereis thonny
thonny: /home/ubn/.local/bin/thonny

-

pip でインストールの確認:

$ pip show thonny

Name: thonny
Version: 3.2.7
Summary: Python IDE for beginners
Home-page: https://thonny.org
Author: Aivar Annamaa and others
Author-email: thonny@googlegroups.com
License: MIT
Location: /home/ubn/.local/lib/python3.6/site-packages
Requires: astroid, asttokens, pylint, docutils, setuptools, jedi, mypy, pyserial, Send2Trash

-

thonny の実行:

$ thonny
:
ModuleNotFoundError: No module named 'tkinter'

→エラーしました。モジュールが不足しているみたい:

-

検索:

$ dnf search tkinter
:
python3-tkinter.x86_64 : A GUI toolkit for Python
python38-tkinter.x86_64 : A GUI toolkit for Python

-

tkinter モジュールのインストール

$ sudo dnf install python3-tkinter
:
インストール済み:
  python3-tkinter-3.6.8-23.el8.x86_64    
  tk-1:8.6.8-1.el8.x86_64
  tcl-1:8.6.8-2.el8.x86_64

-

tkinter モジュールの動作確認:

$ python -m tkinter

↓(「python -m」: path がないときは最新が選ばれます。)

      tk

This is Tcl/Tk version 8.6
This should be a cedilla: c

   [Click me!]
      [Quit]

→小さなtkinter のダイアログが表示されれば準備は OK

-

thonny の再実行:

$ thonny

「Th」の選択ダイアログが開きました

Langage: English →日本語 [ALPHA]

Initial settings: Standard 

(Standard 以外にラズパイが選べます)

→「Let's go!」をクリック

「Thonny」が起動され、ウィンドウが表示されました。

ファイルを開いて、プログラムを実行してみます

ファイル→Open... →「code」フォルダ→hello.py

「実行」ボタンを押してみます。

-

上の「hello.py」タブ

print("Hello world!")

-

下の「Shell」タブ

Python 3.6.8 (/usr/bin/python3.6)
>>> %cd /home/ubn/code
>>> %Run hello.py
Hello world!
>>> 

→プロンプトは紫、その他はグレー。 実行結果の「Hello world!」は黒で表示されるので、わかりやすいです。

わざと後ろに余分な文字「 " 」を加え、間違えて、実行してみました:

→誤ったところを色を変えて、ちゃんと指摘してくれます。

-

参考: pip でthonny を削除するとき:

$ pip uninstall thonny
:
Proceed (y/n)? y
  Successfully uninstalled thonny-3.2.7

-


「Mu-editor」のインストール

シンプルなPython のエディタです。文字が大きいので見やすいです。

-

pip でmu を検索:

$ pip search mu
:
mu-editor (1.0.3)          - A simple Python editor for beginner programmers.

-

pip でインストールします:

$ pip install --user mu-editor
:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib64/python3.6/tokenize.py", line 452, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-g2lty3mg/PyQtChart/setup.py'
 
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-g2lty3mg/PyQtChart/

警告が出てインストールできなかったので、検索すると 「pipを最新バージョンにアップグレードすると、この問題は解決しました。」がヒット

-

pipを最新バージョンにアップグレード: ←(これが失敗の元。仮想環境を使うべきでした)

$ pip install --user --upgrade pip
:
Successfully installed pip-20.1.1

→これは通常は、やってはいけないことだったみたい。これ以降、pip 操作すると警告が表示されるようになりました。 (ホームなら分離されているので、個人的にこうなることを理解してやるのはかまわないと思います。簡単にアップできます。でも、sudo は禁止)

$ pip --version

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.1.1 from /home/ubn/.local/lib/python3.6/site-packages/pip (python 3.6)

警告:pip は古いスクリプトラッパーによって呼び出されています。これは、pip の新しいバージョンでは失敗します。 根本的な問題の修正にについては、https://github.com/pypa/pip/issues/5599 を参照してください。

この問題を回避するには、pip を直接実行しないで、Python を '-m pip' を使って呼び出します。 /home/ubn/.local/lib/python3.6/site-packages/pip からの pip 20.1.1(python 3.6)

→新しくホームに新バージョンの pip をインストールしたことで、システムにあった旧バージョンの pip と重複したとの警告です。これはバグではなくて、運用のしかたの誤りで起きたこと。

ImportError in system pip wrappers after an upgrade #5599 を参照

pip の新しいバージョンが必要な場合は、仮想環境などを使用して、システムパッケージとは別にインストールする必要があります。このバグは仮想環境を使用していないときにpip のアップグレードをすると発生します。

python -m pip --version 」のように実行すれば、Python が認識しているpip のインストールの正確なバージョンと場所がわかり、一時的に回避できます。本来は、仮想環境を使うべきでした。

$ which pip
~/.local/bin/pip

$ which pip3
~/.local/bin/pip3

$ whereis pip
pip: /usr/bin/pip /usr/bin/pip3.6 /home/ubn/.local/bin/pip /home/ubn/.local/bin/pip3.6

$ whereis pip3
pip3: /usr/bin/pip3.6 /usr/bin/pip3 /home/ubn/.local/bin/pip3.6 /home/ubn/.local/bin/pip3 /usr/share/man/man1/pip3.1.gz

参考: システムの pip :

$ dnf search python-pip
:
platform-python-pip.noarch : A tool for installing and managing Python3 packages

$ dnf list platform-python-pip
:
インストール済みパッケージ
platform-python-pip.noarch                9.0.3-16.el8                 @anaconda

-

回避するには、pip を下記のように使います:

$ python -m pip <command> [options]

→「python -m」: path がないときは最新が選ばれます。

-

このやり方で、バージョン表示:

$ python -m pip --version
pip 20.1.1 from /home/ubn/.local/lib/python3.6/site-packages/pip (python 3.6)

→バージョンがすごく上がってます。

-

このやり方で、インストール:

$ python -m pip install --user mu-editor

インストールやアップグレードのときは「--user」は必ず付けます。

→うまくインストールできました

-

このやり方で、インストールの確認:

$ python -m pip show mu-editor
:
Version: 1.0.3
Summary: A simple Python editor for beginner programmers.
Home-page: https://github.com/mu-editor/mu
Author: Nicholas H.Tollervey
Author-email: ntoll@ntoll.org
License: GPL3
Location: /home/ubn/.local/lib/python3.6/site-packages

-

mu-editor の起動:

$ mu-editor
:
ログ出力先: /home/ubn/.cache/mu/log/mu.log
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Python のプログラムファイルを実行させたタイミングで、Qt アプリでバージョン表示したときと同じようなエラーが表示されます。

-

→スッキリとした画面です。タイトルバーにある数字は、アプリのバージョンです。

-

参考: PyPI のライブラリにて、更新があるかの確認:

-

パッケージに更新があるかの確認:

$ python -m pip list --outdated

Package           Version    Latest   Type
----------------- ---------- -------- -----
asn1crypto        0.24.0     1.3.0    wheel
blivet            3.1.0      3.2.2    wheel
cffi              1.11.5     1.14.0   wheel
coverage          4.5.1      5.2.1    wheel
cryptography      2.3        3.0      wheel
dbus-python       1.2.4      1.2.16   sdist
decorator         4.2.1      4.4.2    wheel
idna              2.5        2.10     wheel
iniparse          0.4        0.5      wheel
isort             4.3.21     5.1.4    wheel
langtable         0.0.38     0.0.51   wheel
lazy-object-proxy 1.4.3      1.5.1    wheel
Mako              1.0.6.dev0 1.1.3    wheel
MarkupSafe        0.23       1.1.1    wheel
matplotlib        2.2.2      3.3.0    wheel
netifaces         0.10.6     0.10.9   wheel
ntplib            0.3.3      0.3.4    wheel
ordered-set       2.0.2      4.0.2    sdist
pid               2.1.1      3.0.4    wheel
ply               3.9        3.11     wheel
productmd         1.11       1.26     wheel
pycairo           1.16.3     1.19.1   sdist
pycodestyle       2.4.0      2.6.0    wheel
pycparser         2.14       2.20     wheel
pycups            1.9.72     2.0.1    sdist
pycurl            7.43.0.2   7.43.0.5 sdist
pyflakes          2.0.0      2.2.0    wheel
pygobject         3.28.3     3.36.1   sdist
pykickstart       3.16.10    3.20     sdist
pyOpenSSL         18.0.0     19.1.0   wheel
pyparted          3.11.0     3.11.6   sdist
PyQt5             5.14.1     5.15.0   wheel
PyQtChart         5.14.0     5.15.0   wheel
PySocks           1.6.8      1.7.1    wheel
python-dateutil   2.6.1      2.8.1    wheel
pytz              2017.2     2020.1   wheel
pyudev            0.21.0     0.22.0   sdist
pyxdg             0.25       0.26     wheel
PyYAML            3.12       5.3.1    sdist
QScintilla        2.11.4     2.11.5   wheel
qtconsole         4.3.1      4.7.5    wheel
requests          2.20.0     2.24.0   wheel
requests-file     1.4.3      1.5.1    wheel
setuptools        39.2.0     49.2.0   wheel
simpleline        1.1        1.7      wheel
slip              0.6.4      20191113 sdist
urllib3           1.24.2     1.25.10  wheel

→最新のバージョンがインストールされているパッケージ(ライブラリ)は表示されません。

-

パッケージの更新のやり方:

$ python -m pip install --user --upgrade パッケージ名

-

インストールされているパッケージの一覧:

$ python -m pip list

Package              Version
-------------------- ----------
appdirs              1.4.4
asn1crypto           0.24.0
:
pip                  20.1.1
:
wrapt                1.12.1

-

参考: PyPI について

Python のプログラミング(プログラムの作成)では、欲しい機能はライブラリを活用、なるべく自分で作らずに省力化するやり方を取ります。基本的な機能は標準ライブラリにありますが、ない場合には外部から探して、あれば使います。

  • PyPI (Python Package Index) は、Python のライブラリを無料公開している最大のリポジトリ(配布元)です。

  • PyPI からライブラリをインストールするには、pip(The Python Package Installer)と呼ばれるパッケージ管理ツールを使うことで、インターネットを経由したインストールが簡単にできます。

  • pip はpython インタープリタからは単なるモジュール(Python のプログラムファイル)です。

  • Python の実行環境に外部ライブラリをインストールすると、標準ライブラリのパッケージと同じようにプログラムを作るときに、インポートして利用できます。

  • インストールするライブラリが、他のライブラリを利用している場合、つまり依存関係が発生するときがあります。 配布元が管理していれば、pip はライブラリの依存関係を管理する仕組み(site-packagesフォルダに落ちます)があり、ライブラリの依存関係を気にせずに使えます。

  • パッケージのダウンロード先の指定で、ローカルフォルダや git、PyPI 以外のパッケージ配布元からパッケージをインストールできます。省略するとPyPI からパッケージを取得します。

-

参考:

Pythonで作成したライブラリを、PyPIに公開/アップロードする

-


Visual Studio Code のインストール

人気の「VSCode」をインストールしてみました。

Visual Studio Code(略して VSCode )は、マイクロソフトが開発したオープンソース(MITライセンスでライセンス)のテキストエディタです。IDEの機能(統合デバッガー、コード補完、リンティングなど)もあります。独自のEULA の下でライセンスされています。

公式ビルドには追加の機能があり、VSCode マーケットプレイスから拡張機能ギャラリーを介して拡張機能をインストールできます。

-

参考:

Fedora wiki: Visual Studio Code

公式のインストール手順

1. CentOS にて、キーとリポジトリを追加:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

2. パッケージキャッシュを更新、dnf でパッケージをインストール:

$ sudo dnf check-update
Visual Studio Code              364 kB/s | 5.0 MB     00:14

$ sudo dnf install code
:
インストール済み:
  code-1.47.2-1594838045.el7.x86_64

-

3. Visual Studio Code の日本語化:

参考:

Visual Studio Codeを日本語化する「一番良い」方法は?【 全OS共通 】【 2020年最新版 】

1. Visual Studio Codeを起動

2. メニューの「View → Command Palete...」を開きます。

3. 「Configure Display Language」をクリック

4. 「Install additional languages...」をクリック

5. 左側に言語のリストが表示されます。「日本語」を探してクリックし、右の「Install」をクリック

6. 右下にリスタートを促すメッセージが表示されます。「Restart Now」をクリック

7. アプリが再起動され、日本語で表示されます。

→最初なので「ようこそ」タブが開かれています。

-

4. 「Python 拡張機能」のインストール:

事前に作成したプログラムファイルが役に立ちます。

-

1. ファイル→ファイルを開く→「code」フォルダ→「hello.py」→開く

新しいタブでファイルが開かれます→画面右下に下記が表示されます。

このファイル種類には、'Python' 拡張機能をお勧めします。

→「インストール」をクリック

2. 「Python拡張機能がインストールされます。

3. 右下に、2つのダイアログが表示されているので、上側から確認

-

確認しておきます:

$ whereis python
python: /usr/bin/python3.6 /usr/bin/python3.6m /usr/bin/python /usr/lib/python3.6 /usr/lib64/python3.6 /usr/include/python3.6m /usr/share/man/man1/python.1.gz

「Select Python Interpreter」をクリック

Enter interpreter path...

- Python 3.6.8 64-bit (/usr/bin/python) ←こちらを選択

- Python 3.6.8 64-bit (/bin/python)

→ウィンドウの左下に「Python 3.6.8 64-bit 」が表示されました。

-

4. 次のダイアログが開きました。

Linter pylint is not installed.

→「Install」をクリック

-

5. もうひとつのダイアログも確認

Tips: you can change the Python interpreter used by the Python extension by clicking on the Python version in the status bar

和訳:

ヒント:ステータスバーのPythonバージョンをクリックして、Python拡張機能で使用されるPythonインタープリタを変更できます。

→「Got it !」(了解)をクリック

-

5. 編集の続き

左上の「エクスプローラー」アイコン→フォルダーを開く→「code」フォルダ→hello.py →先ほどの編集画面が開きます。

もう一度「エクスプローラー」アイコンを押すと広くなります。

-

Python - Get Started」タブが開きました。

-

6. Python の実行

「実行」→「デバッグなしで実行」→画面下のエリアに「ターミナル」画面表示

[ubn@localhost code]$  env /usr/bin/python /home/ubn/.vscode/extensions/ms-python.python-2020.7.94776/pythonFiles/lib/python/debugpy/launcher 36691 -- /home/ubn/code/hello.py 
Hello World
[ubn@localhost code]$ 

「ターミナル」画面の右上の「x」で閉じます。

-

7. 通常のエディタとしても優秀です

CentOS の(全体の map 表示ができる旧バージョンの)gedit とほとんど同じ見た目。ファイル表示は gedit よりも早いかも。

-


Python 環境の構築には「仮想環境」がオススメ

-

仮想環境とは

参考:

venv --- 仮想環境の作成

Python で開発をしていると、パッケージの依存関係があったり、それぞれのバージョン違いによる問題も出てきます。

Python の仮想環境は、「システム」の Python、すなわち OS の一部としてインストールされた Python にインストールされている全てのライブラリとは別です。

仮想環境は、追加でインストールしたモジュールやパッケージ、またPython のバージョンごとに分離されています。

それぞれの仮想環境には、それ自身に (この仮想環境を作成するのに使ったバイナリのバージョンに合った) Python バイナリがあり、仮想環境ごとの site ディレクトリに独立した Python パッケージ群をインストールできます。

仮想環境を作ってソフトウェアごとにバージョンの違うパッケージを用意すると、同じシステム内の環境を汚すこと無く開発が出来ます。

-

Python の仮想環境を作るソフトウェアは数種類あります。

  • Python3.3 以前は、「virtualenv」(サードパーティ製)

  • Python3.3 以降は、「venv」(標準パッケージとしてvirtualenv がPython に取り込まれました)

-

参考:

Python3.6ビルドとvenv環境構築

この記事は:

デフォルトでインストールされている Python に影響を与えないよう、任意の場所(/opt/)に Python3.6 をインストール。この Python3.6 を使って、venv 環境を構築しています。

-

上記の記事を参考に作業しました。 別のバージョンをインストールするわけではありませんが、使い方の参考になります。

-


1. 事前の確認:

重要:

venv 環境を作成するときに使う python3.6 コマンドは、その環境で使うためにインストールした インストール先にあるPython3.6 を指定する必要があります。この環境が仮想環境名のフォルダ配下にコピーされます。

-

使用したいバージョンのpython3 の場所を確認:
$ which python3

/usr/bin/python3
venv のヘルプ表示(和訳):
$ /usr/bin/python3 -m venv --help

使用法: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
            [--upgrade] [--without-pip] [--prompt PROMPT]
            ENV_DIR [ENV_DIR ...]

1つ以上のターゲットディレクトリに仮想 Python 環境を作成します。

位置引数:
  ENV_DIR               環境を作成するディレクトリ

オプションの引数:
  -h, --help
                        このヘルプメッセージを表示して終了
  --system-site-packages
                        仮想環境にシステムのsite-packages ディレクトリへ
                        のアクセス権を付与します。
  --symlinks
                        シンボリックリンクがプラットフォームのデフォルトで
                        はない場合は、コピーではなくシンボリックリンクを
                        使用してください。
  --copies
                        シンボリックリンクがプラットフォームのデフォルトで
                        ある場合でも、シンボリックリンクではなくコピーを
                        使用してください。
  --clear
                        環境を作成する前に、環境ディレクトリがすでに
                        存在する場合は、その内容を削除してください。
  --upgrade
                        Python がin-place でアップグレードされていることを
                        前提として、このバージョンのPython を使用するよう
                        に環境ディレクトリをアップグレードします。
  --without-pip
                        仮想環境でのpipのインストールまたはアップグレード
                        をスキップします。
                        (pipはデフォルトでブートストラップされます)
  --prompt PROMPT
                        この環境の代替プロンプト文字を提供します。

環境が作成されたら、binディレクトリのactivate スクリプトにて、
有効化することができます。

-

2. venv で仮想環境を作成:

名前を「venv36」としてホームディレクトリ直下に作成しました。

作成前のファイル構成の確認:
$ ls ~/
code     ダウンロード  デスクトップ  ビデオ  画像
mu_code  テンプレート  ドキュメント  音楽    公開

-

仮想環境の「venv36」を作成:
$ cd ~/.         ←(最初に設定しておくことが重要)
$ /usr/bin/python3 -m venv venv36

-

仮想環境のファイル構成の確認:
$ ls
code     venv36        テンプレート  ドキュメント  音楽  公開
mu_code  ダウンロード  デスクトップ  ビデオ        画像

→指定した仮想環境名の「venv36」フォルダが作られました。

$ ls ~/venv36/
bin  include  lib  lib64  pyvenv.cfg

$ ls ~/venv36/bin/
activate      activate.fish  easy_install-3.6  pip3    python
activate.csh  easy_install   pip               pip3.6  python3

$ ls ~/venv36/include/

$ ls ~/venv36/lib/
python3.6

$ ls ~/venv36/lib/
python3.6

python コマンドを含めた、すべてのファイルが仮想環境のフォルダ配下につくられました。 Python バイナリのコピーまたはシンボリックリンクを含む bin サブディレクトリが作られました。

$ ls ~/venv36/lib/python3.6/
site-packages

$ ls ~/venv36/lib/python3.6/site-packages/
__pycache__      pip-9.0.3.dist-info  setuptools-39.2.0.dist-info
easy_install.py  pkg_resources
pip              setuptools

→「site-packages」フォルダは重要です。最初は空の状態で作成されます。もし、指定したディレクトリが存在している場合は、それが再利用されます。今回は、2つのパッケージがすでに入っています。(pip、setuptools )

-

仮想環境の設定ファイルの確認:
$ cat ~/venv36/pyvenv.cfg
home = /usr/bin
include-system-site-packages = false
version = 3.6.8

→「pyvenv.cfg」ファイルの home キーはこのコマンドを呼び出した Python のインストール場所を指します。 よく使われるターゲットディレクトリの名前は「.venv」らしいです。

-

有効化に使われるスクリプトを確認:
$ ls -l ~/venv36/bin/activate
-rw-r--r--. 1 ubn ubn 2196  7月 27 13:51 /home/ubn/venv36/bin/activate

$ cat ~/venv36/bin/activate
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly
:

→和訳: bashの場合は「source bin/activate」として使います。 直接実行はできません

-

3. 仮想環境の有効化

venv の仮想環境を有効化すると、プロンプトに仮想環境名 (venv36) が表示されます。

この状態で、pip コマンドなどでパッケージをインストールすると、この仮想環境の中でのみ有効なパッケージとしてインストールされます。

  • OS 標準の環境や、他のvenv 環境には影響を与えません。

-

bash/zsh の場合:
[ubn@localhost ~]$ source ~/venv36/bin/activate

(venv36) [ubn@localhost ~]$ 

→有効化には、仮想環境名の「~/venv36/」ディレクトリをパスの最初に加えます。 venv で仮想環境が有効化されると、プロンプトの先頭に (venv36) が表示されます。

python」で仮想環境の Python インタプリタが呼び出されます。また、フルパスを入力せずにインストールされたスクリプトが実行できるようになります。

-

仮想環境の python と pip の置き場所:
(venv36) [ubn@localhost ~]$ which python3
~/venv36/bin/python3

(venv36) [ubn@localhost ~]$ which python
~/venv36/bin/python

(venv36) [ubn@localhost ~]$ which pip3
~/venv36/bin/pip3

(venv36) [ubn@localhost ~]$ which pip
~/venv36/bin/pip

-

仮想環境の python と pip のバージョンを確認:
(venv36) [ubn@localhost ~]$ python3 --version
Python 3.6.8

(venv36) [ubn@localhost ~]$ python --version
Python 3.6.8

(venv36) [ubn@localhost ~]$ pip3 --version
pip 9.0.3 from /home/ubn/venv36/lib64/python3.6/site-packages (python 3.6)

(venv36) [ubn@localhost ~]$ pip --version
pip 9.0.3 from /home/ubn/venv36/lib64/python3.6/site-packages (python 3.6)

-

仮想環境の pip の確認:
(venv36) [ubn@localhost ~]$ pip show pip

Name: pip
Version: 9.0.3
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /home/ubn/venv36/lib/python3.6/site-packages  ←(置き場所)

Requires: 
You are using pip version 9.0.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

→pip をバージョンアップしろと警告が表示されます。

-

仮想環境の pip のバージョンアップ:
(venv36) [ubn@localhost ~]$ pip install --upgrade pip
Cache entry deserialization failed, entry ignored
Collecting pip
  Using cached https://files.pythonhosted.org/packages/43/84/23ed6a1796480a6f1a2d38f2802901d078266bda38388954d01d3f2e821d/pip-20.1.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-20.1.1

確認:

(venv36) [ubn@localhost ~]$ pip show pip
Name: pip
Version: 20.1.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /home/ubn/venv36/lib/python3.6/site-packages  ←(置き場所)
Requires: 
Required-by: 

→警告は出なくなりました。

-

$ pip --version
pip 20.1.1 from /home/ubn/venv36/lib64/python3.6/site-packages/pip (python 3.6)

→pip のバージョンが上がりました。

-

置き場所の確認:
$ ls ~/venv36/lib/python3.6/site-packages/
__pycache__      pip-20.1.1.dist-info  setuptools-39.2.0.dist-info
easy_install.py  pkg_resources
pip              setuptools

-

作成した仮想環境にインストールされているパッケージの確認:
(venv36) [ubn@localhost ~]$ which pip
~/venv36/bin/pip

(venv36) [ubn@localhost ~]$ pip freeze
(venv36) [ubn@localhost ~]$

(venv36) [ubn@localhost ~]$ pip list
Package    Version
---------- -------
pip        20.1.1
setuptools 39.2.0

(venv36) [ubn@localhost ~]$ pip show pip
Name: pip
Version: 20.1.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /home/ubn/venv36/lib/python3.6/site-packages
Requires: 
Required-by: 

-

4. 仮想環境でのパッケージのインストール:

(venv36) [ubn@localhost ~]$ pip install パッケージ名

→実際のインストール作業は後ほど書きます。

-

5. 仮想環境の無効化

(venv36) [ubn@localhost ~]$ deactivate
[ubn@localhost ~]$ 

仮想環境を抜けたか確認:

[ubn@localhost ~]$ which python3
/usr/bin/python3

[ubn@localhost ~]$ python --version
Python 3.6.8

→仮想環境名である (venv36) が表示されなくなり、 仮想環境から抜けたことがわかります。

-

仮想環境を作成する前は、

$ pip --version

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.1.1 from /home/ubn/.local/lib/python3.6/site-packages/pip (python 3.6)

→仮想環境を作らずに作業した影響で、pip がシステムの旧 とホームの新 とで重複しているとの警告が出てました。

この状態で、pip を使うには、最新を選んでくれるように下記の操作が必要です。

$ python -m pip --version
pip 20.1.1 from /home/ubn/.local/lib/python3.6/site-packages/pip (python 3.6)

インストールのときは:

$ python -m pip install --user mu-editor

→少し面倒です。

-

仮想環境を作成した後から、警告が回避できるようになりました

仮想環境から抜けた状態:

$ which python3
/usr/bin/python3

$ which pip3
~/.local/bin/pip3

$ which pip
~/.local/bin/pip

→pip だけ、置き場所がホーム (--user 指定で作られた ~/.local/bin/pip) に変わっています(仮想環境ではありません)。

-

$ pip --version
pip 20.1.1 from /home/ubn/.local/lib/python3.6/site-packages/pip (python 3.6)

→通常のコマンドの使い方で実行できるようになりました。

この場合でも、インストールのときは下記の操作が必要です:

$ pip install --user mu-editor

→「--user」を付けて、ホームに落とします。付けないと推奨されていないシステムに落とそうとして失敗します。 仮想環境の場合は、仮想環境のフォルダに落ちるので、この気使いは要りません。

-

パスなどを再確認:

$ whereis mu-editor
mu-editor: /home/ubn/.local/bin/mu-editor

$ which mu-editor
~/.local/bin/mu-editor

$ whereis pip3
pip3: /usr/bin/pip3.6 /usr/bin/pip3 /home/ubn/.local/bin/pip3.6 /home/ubn/.local/bin/pip3 /usr/share/man/man1/pip3.1.gz

$ which pip3
~/.local/bin/pip3

-

$ echo $PATH
/home/ubn/.local/bin:/home/ubn/bin:/home/ubn/.local/bin:/home/ubn/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

↓ 見やすくすると:

/home/ubn/.local/bin:
/home/ubn/bin:

/home/ubn/.local/bin:
/home/ubn/bin:

/usr/local/bin:
/usr/local/sbin:
/usr/bin:
/usr/sbin

→いつの間にかパスが張られていました。でも、先頭が重複しています。 こちらには仮想環境のディレクトリは含まれていません。

-

スタートアップファイルを確認:

$ cat ~/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"  ←(パス指定はここ)
export PATH                ←(パス指定はここ)

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

-

$ ls -l ~/.bashrc
-rw-r--r--. 1 ubn ubn 312 11月  9  2019 /home/ubn/.bashrc

→日付は古いのでスタートアップファイルは修正されていませんね。最初からホームのパスは設定されていたみたい。

パスの指定は関係なかったみたい。先頭が重複しているのは、違うファイルでもパス指定されている可能性があります。

$ cat .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
export LANG=ja_JP.UTF-8

-

$ ls -l ~/.bash_profile
-rw-r--r--. 1 ubn ubn 165  7月 22 12:33 /home/ubn/.bash_profile

→日本語化のときに修正しただけでこれは関係なし。システム側の設定ファイルで指定されているのかも。

-

  • どちらにしても、仮想環境のインストールで「重複の警告表示」が解消されました。

レビューにあった「仮想環境のインストールで解消されます」というのは、仮想環境を使うということだけでなく、この効果も指していたのかな。

-

実際に仮想環境でアプリをインストールしてみます

$ which python
/usr/bin/python

$ which pip
~/.local/bin/pip

→これが仮想環境に入る前の状態です。pip はホームのローカル指定に変わってます。

1. 仮想環境を有効化します

$ source ~/venv36/bin/activate

(venv36) [ubn@localhost ~]$ 

(venv36) [ubn@localhost ~]$ which python
~/venv36/bin/python

(venv36) [ubn@localhost ~]$ which pip
~/venv36/bin/pip

→仮想環境の python と pip が使われます。

-

(venv36) [ubn@localhost ~]$ pip list
Package    Version
---------- -------
pip        20.1.1
setuptools 39.2.0

→2つのパッケージだけが入っています。

-

(venv36) [ubn@localhost ~]$ pip --version
pip 20.1.1 from /home/ubn/venv36/lib64/python3.6/site-packages/pip (python 3.6)

→仮想環境のpip が使われています。

-

(venv36) [ubn@localhost ~]$ echo $PATH
/home/ubn/venv36/bin:/home/ubn/.local/bin:/home/ubn/bin:/home/ubn/.local/bin:/home/ubn/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

→先頭に仮想環境のパスが追加されてます。

-


2. 仮想環境で「thonny」をインストール:

構文チェックできるPython のエディタです。最近の「ラズパイOS」には、このアプリが入っているみたい。

最初の起動時に「Standard」か「Raspberry Pi」を選びます。

参考:

Pythonで書いたソースコードの実行の流れを実況中継してくれる初心者のための学習ツール「Thonny!」

-

  • tkinter がインストールされていないと実行できません。
tkinter がインストールされていることを確認:
(venv36) [ubn@localhost ~]$ dnf list python3-tkinter
:
インストール済みパッケージ
python3-tkinter.x86_64                  3.6.8-23.el8                  @AppStream
tkinter が動作することを確認:
$ python -m tkinter

→小さなtkinter のダイアログが表示されれば、準備 OK

-

thonny のインストール:
(venv36) [ubn@localhost ~]$ pip install thonny

-

確認:

(venv36) [ubn@localhost ~]$ whereis thonny
thonny: /home/ubn/venv36/bin/thonny /home/ubn/.local/bin/thonny

(venv36) [ubn@localhost ~]$ which thonny
~/venv36/bin/thonny

-

thonny の実行:
(venv36) [ubn@localhost ~]$ thonny
日本語  [ALPHA]
WARNING:thonny:MyPy: /home/ubn/venv36/lib64/python3.6/site-packages is in the MYPYPATH. Please remove it.
See https://mypy.readthedocs.io/en/latest/running_mypy.html#how-mypy-handles-imports for more info

→起動にて、ダイアログが表示されるので、日本語選択します。 プログラムファイルの実行をかけると相変わらず警告が出ます。

-

thonny の画面:

→右側の画面は、タブ切り替えでいろいろな情報が表示できます。この「アシスタント」タブは構文エラーがあったときに詳細を説明してくれます。ただし、英文。

-

(venv36) [ubn@localhost ~]$ pip list
Package           Version
----------------- -------
astroid           2.4.2
asttokens         2.0.4
docutils          0.16
isort             4.3.21
jedi              0.17.2
lazy-object-proxy 1.4.3
mccabe            0.6.1
mypy              0.782
mypy-extensions   0.4.3
parso             0.7.1
pip               20.1.1
pylint            2.5.3
pyserial          3.4
Send2Trash        1.5.0
setuptools        39.2.0
six               1.15.0
thonny            3.2.7
toml              0.10.1
typed-ast         1.4.1
typing-extensions 3.7.4.2
wrapt             1.12.1

→2つだけが、「thonny」のインストールでこんなに増えました。

-


3. 仮想環境で「mu-editor」をインストール:

シンプルなPython のエディタです。文字が大きいので見やすいです。

このアプリは、「BBC micro:bit」や「Adafruit 組み込みボード」の開発でよく使われるみたい。 「モード」ボタンで簡単に開発環境が切り替えできます。 「チェック」ボタンで構文チェックできます。

-

  • pip が最新でないと、インストールに失敗します。
pip が最新であることを確認:
(venv36) [ubn@localhost ~]$ pip --version
pip 20.1.1 from /home/ubn/venv36/lib64/python3.6/site-packages/pip (python 3.6)

-

もし、pip をアップグレードするときは:
(venv36) [ubn@localhost ~]$ pip install --upgrade pip

→仮想環境なので安心してアップグレードできます。

-

mu-editor のインストール:
(venv36) [ubn@localhost ~]$ pip install mu-editor

-

確認:

(venv36) [ubn@localhost ~]$ whereis mu-editor
mu-editor: /home/ubn/venv36/bin/mu-editor /home/ubn/.local/bin/mu-editor

(venv36) [ubn@localhost ~]$ which mu-editor
~/venv36/bin/mu-editor

-

mu-editor の実行:
(venv36) [ubn@localhost ~]$ mu-editor
ログ出力先: /home/ubn/.cache/mu/log/mu.log
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

→ちゃんと動作します。ログの落ちるファイルはホームのローカルに落とした mu-editor と一緒ですね。

時々、終了時に「中止 (コアダンプ)」となりますが、動作には支障ありません。 端末にwayland on Gnome のときの、Qt アプリと同じような警告メッセージが表示されます。 Qt5 が使われているので、Qt アプリ だったみたい。日本語入力が可能 でした。

-

mu-editor の画面:

→「チェック」ボタンで、構文チェックをしてくれます。ウィンドウの左下のバーにやさしい日本語で返答が表示されます。 毎回押すたびに言葉づかいが変わります。「やさしい日本語」なのがポイントかな。

-

(venv36) [ubn@localhost ~]$ pip list
Package           Version
----------------- ---------
appdirs           1.4.4
astroid           2.4.2
asttokens         2.0.4
backcall          0.2.0
certifi           2020.6.20
chardet           3.0.4
colorzero         1.1
cycler            0.10.0
decorator         4.4.2
docutils          0.16
gpiozero          1.5.1
guizero           1.1.0
idna              2.10
ipykernel         5.3.4
ipython           7.16.1
ipython-genutils  0.2.0
isort             4.3.21
jedi              0.17.2
jupyter-client    6.1.6
jupyter-core      4.6.3
kiwisolver        1.2.0
lazy-object-proxy 1.4.3
matplotlib        2.2.2
mccabe            0.6.1
mu-editor         1.0.3
mypy              0.782
mypy-extensions   0.4.3
nudatus           0.0.4
numpy             1.19.1
parso             0.7.1
pexpect           4.8.0
pgzero            1.2
pickleshare       0.7.5
pigpio            1.46
Pillow            7.2.0
pip               20.1.1
prompt-toolkit    3.0.5
ptyprocess        0.6.0
pycodestyle       2.4.0
pyflakes          2.0.0
pygame            1.9.6
Pygments          2.6.1
pylint            2.5.3
pyparsing         2.4.7
PyQt5             5.14.1
PyQt5-sip         12.8.0
PyQtChart         5.14.0
pyserial          3.4
python-dateutil   2.8.1
pytz              2020.1
pyzmq             19.0.1
QScintilla        2.11.4
qtconsole         4.3.1
requests          2.24.0
semver            2.10.2
Send2Trash        1.5.0
setuptools        39.2.0
six               1.15.0
thonny            3.2.7
toml              0.10.1
tornado           6.0.4
traitlets         4.3.3
typed-ast         1.4.1
typing-extensions 3.7.4.2
urllib3           1.25.10
wcwidth           0.2.5
wrapt             1.12.1

→「thonny」と「mu-editor」のアプリの追加だけで、こんなに増えました。

ちょっと確認:

(venv36) [ubn@localhost ~]$ whereis mu-editor
mu-editor: /home/ubn/venv36/bin/mu-editor /home/ubn/.local/bin/mu-editor

(venv36) [ubn@localhost ~]$ ls -l /home/ubn/venv36/bin/mu-editor
-rwxrwxr-x. 1 ubn ubn 215  7月 28 01:51 /home/ubn/venv36/bin/mu-editor

(venv36) [ubn@localhost ~]$ ls -l /home/ubn/.local/bin/mu-editor
-rwxrwxr-x. 1 ubn ubn 202  7月 26 18:49 /home/ubn/.local/bin/mu-editor

(venv36) [ubn@localhost ~]$ which mu-editor
~/venv36/bin/mu-editor

→同じアプリが存在しますが、仮想環境のアプリが選択されてます。

-

4. 仮想環境の無効化:

(venv36) [ubn@localhost ~]$ deactivate
[ubn@localhost ~]$ 

→仮想環境から抜けました。

-

5. パスを指定すれば、仮想環境にインストールされたアプリも実行できます:

$ ~/venv36/bin/mu-editor

→ちゃんと動作します。

-


しばらく使ってみて気付いたこと

1. pip を使ってアプリのインストールをするなら、「仮想環境」がオススメです

仮想環境を作ってインストールすれば、システムと干渉しないので問題の発生が少なくなります。また、問題があっても完全に分離されているので、仮想環境名のフォルダを削除するだけで済みます。

特に、「pip」のアップグレードは要注意。システムにある(古い)pip と干渉します。

仮想環境で作業するのがベストです。気にせずにアップグレードできます。 pip を最新にしないとインストールできないアプリがありました。

-

2. pip を使ってインストールしたアプリ

  • thonny(構文チェックできるPython エディタ)

  • mu-editor (シンプルなPython エディタ)

→Qt アプリです。CentOS だと日本語入力できました。

-

3. GNOME のWayland にて、CentOS だと、Qt アプリで日本語入力できそうです

確認できたアプリが少ないのですが、希望が持てますね。

  • mu-editor(上記)

  • KolourPaint

-

4. CentOS は心配になるくらい、システム更新が少ないです

枯れた状態で公開されているので、当然といえば当然なんですが、Fedora とか Manjaro とかを使っていると気になります。

-


まとめ

CentOS は、安定動作と長期サポートが魅力です。一度使える環境にすれば、安心して作業できます。

ちなみに、Python の開発環境を構築するなら、Fedora の方が楽でした。すんなりグループでインストールできます。

CentOSPython の開発環境を構築するなら、venv による「仮想環境」がオススメです。 システムと完全に分離されているので気楽にpip の操作ができます。

-

-


目次

先頭

-


-

CentOS 8.2 にGNOME デスクトップをインストール〈H82〉

登録日: 2020-07-26 更新日: 2020-07-26

前回は、最新の「CentOS」である「CentOS-8.2.2004」をUSB メモリにインストール しました。今回はその続きで、GNOME デスクトップ環境をインストールします。

これでいつも使いのパソコンとして使えます。 使われているカーネルは枯れているので、Fedora とは違い、安定動作が期待できます。

(2004 の数字は2020年04月のことで、元になったRHELのソースの日付を表しています)

-

「目次」

-

最終的なデスクトップ画面:

→壁紙は色違いが複数あります。シンプルです。

よく見ると左上のアクティビティのアイコンがCentOS のシンボルです。

-

参考:

CentOS wiki

Red Hat 社が商用 Linux の「RHEL」のソースを公開しています。そのソースを使い、「CentOS Project」コミュニティが商標部分を取り除いてビルドし直した Linux ディストリビューションが、CentOSセントオーエス)です。

商用のRHEL と機能的に高い互換性を持ちます。つまり、無料でありながら、商用OS の品質があります。

ただし、ミラーサイトや、リポジトリなどは違うので、インストールできるアプリに制限があります。 サーバーでの使用がメインなので、必然的にデスクトップで使うアプリは少なくなります。しかたないことかな。

-


前回 からの続き、CentOS を起動します。

-

ブート選択のメニュー:

CentOS Linux (4.18.0-193.6.3.e18_2.x86_64) 8 (Core) 
CentOS Linux (4.18.0-193.e18.x86_64) 8 (Core) 
CentOS Linux (0-rescue-) 8 (Core) 

→OS アップデートでメニューが増えています。3 秒待ち。

(前回、安全策としてブート時のメニューの保持数を 3 から 10 に増やしています。多すぎかな)

-


コンソール端末が全画面で表示されます

CentOS Linux 8 (Core) 
Kernel 4.18.0-193.6.3.e18_2.x86_64 on an x86_64

Active the web console with: systemctl enable --now cocpit.socket

localhost login:

余計なメッセージで埋まったら、Enter キー

→設定したユーザ名とパスワードを入力

[ubn@localhost ~]$ 

→プロンプト表示が変わるだけですが、ユーザでログインされています。

-

念の為に、システム更新:

$ sudo dnf update

-


デスクトップ環境のインストール:

$ sudo dnf group install Workstation

→大文字に注意。901 個ほどのパッケージがインストールされました。

google-noto-sans-* で余計な言語のフォントがいっぱい入ったみたい。あとで削除かな。

-

再起動

コンソール端末の画面にて、ユーザでログイン

$ startx

→英語の「GNOME デスクトップ」が立ち上がりました。

-


「Welcome」画面が表示されるので、設定

日本語  日本

→「Next」

-

入力 日本語(かな漢字)

→「次へ」

-

ネットワーク Wi-Fi

→「スキップ」(有線LAN で接続している場合)

-

プライバシー

  位置情報サービス: オン→オフ

→「次へ」

-

オンラインアカウント

  オンラインアカウントへの接続

→「スキップ」

-

「使用する準備が完了しました」表示

→「CentOS Linux を使い始める(s) 」をクリック

-


英語の「ヘルプ」画面が表示されました

Getting Started (GNOME Help)

→右上の「x」で閉じました。

デスクトップは、英語です。日本語表示されません。

テキストエディタを起動。

Windows + スペース」してから「半角/全角」キーで、日本語入力(ibus-kkc)できます。 通常のOS のインストールだと、日本語表示できて日本語入力ができないので、逆です。

サーバーや開発環境として使うなら便利だけど、デスクトップをメインで使うなら不便かな。

-


CentOS を日本語表示にします

参考:

日本語環境にする

なぜか、システムとして行うやり方では失敗。ユーザのレベルの方で日本語表示に設定しました。

-

1. 日本語関連のパッケージをインストール:

$ sudo dnf install langpacks-ja 

Fedora だとibus-kkc の依存パッケージとしてlangpacks-ja 、langpacks-core-ja がインストールされます。名前は同じだけど、中身は違うみたい。それにCentOS には langpacks-core-ja は存在しません。

-

2. 事前確認:

$ echo $LANG
en_US.UTF-8

ロケールは英語です。

-

3. 立ち上げ時の設定ファイルの編集:

$ nano ~/.bash_profile

↓ 最終行に追記:

export LANG=ja_JP.UTF-8

→nano の操作は、Ctrl+O(オー) で保存、Ctrl+X で終了

-

確認:
$ cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
export LANG=ja_JP.UTF-8

→再起動後に日本語のフォルダが作られます。 そのときにフォルダが空でないと削除されず、2重にフォルダが作られます。 Documents やPictures フォルダにファイルがないか確認して、空にしておきます。

-

4. 再起動

画面右上の「電源」ボタン→「電源」ボタン→「Restart」

-

5. 日本語のフォルダを作るか、聞いてきます。

$ ls ~/
Documents  ダウンロード  デスクトップ  ビデオ  画像
Pictures   テンプレート  ドキュメント  音楽    公開

→メモを書いて、スクリーンショットを撮っていたので、ファイルが残っていたみたい。

ファイルマネージャで確認して、日本語の「フォルダ」アイコンに模様が表示されていれば移行されているので、英語のフォルダを消しても支障はありません。中のファイルを移動してから削除。

-

6. 日本語化されたかを確認:

$ echo $LANG
ja_JP.UTF-8

$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

スクリーンショットを撮ると、「画像」フォルダでなくホーム直下に落ちます。再起動して反映させました。

-

7. 再起動

スクリーンショットが、「画像」フォルダに落ちるようになりました。

-


システムをグラフィカルログインに変更:

毎回、コンソール(端末)画面から、startx するのは面倒です。GUI でログイン画面が表示されるように設定します。

-

1. 変更前のモードを確認:

$ su -
パスワード:

# systemctl get-default
multi-user.target

# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 37  7月 22 05:33 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target

2. 「ランレベル 5」のグラフィカルログインに変更:

# systemctl set-default graphical.target

Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.

→デフォルトがグラフィカルログインのリンクに変更されました。

-

3. 変更後の確認:

# systemctl get-default
graphical.target

# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 40  7月 22 13:00 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target

-

4. 再起動

-


5. GUI のログイン画面が表示

ログイン画面で Enter →パスワード入力画面 →右下の設定ボタンをクリック

6つのセッションから選べます。(正しくは 4つ):

- スタンダード(Wayland ディスプレイサーバー)

- クラシック(X11 ディスプレイサーバー)

- クラシック(Wayland ディスプレイサーバー)

- カスタム

- Xorg 上でのスタンダード(X11 ディスプレイサーバー)

- User script

→デフォルトはなぜか「クラシック(X11)」でした。

「スタンダード(Wayland)」を選択。

パスワードを入れて、ログイン

メニューにある「ディスプレイサーバー」という文字は省略した方がすっきりしそう。

-

スタンダード (Wayland) 、スタンダード (X11) :

→使われているウィンドウシステムが違うだけで、見た目も使用感もほとんど同じです。

FedoraGNOME の「Wayland」では、Qt アプリで日本語入力できないとか、問題がありました。 CentoOS でどうなのかはほとんどのQt アプリがインストールできない(リポジトリにない)ので未確認。

-

クラシック (Wayland) 、クラシック (X11) :

→見た目はMATE 風です。絞り込みができる検索機能がなくて、通常のメニュー形式で、動作は軽いです。 特にブラウザが軽く感じます。

  • ちなみに、クラシック (Wayland) は CentOS だけにあり、Fedora にはありません。

これならWayland に完全移行しても、同じ環境を使っていけます。

-


デスクトップ画面表示

Windows キーを押したとき表示される、左のランチャー(お気に入り)の登録アプリ:

→これは日本語化前の画面です。そして「端末」アプリが起動中です。

-

デフォルトの「お気に入り」のアプリ:

  • Firefox

  • Evolution

  • Rhythmbox

  • ファイル

  • ソフトウェア

  • ヘルプ

  • 「アプリケーションを表示する」(すべて表示)

→使いやすいように、「端末」と「テキストエディター」を右クリックで「お気に入り」に登録しました。

-


CentOS に、Fedora 提供の「epel」リポジトリを追加

ibus-mozc」がCentOSリポジトリにないので、事前にFedora 提供のリポジトリを追加しました。 Fedora のすべてのパッケージが登録されているわけではありませんが、インストールできる可能性が高くなります。

Fedora wiki EPEL

  • Extra Packages for Enterprise Linux (EPEL)

Fedora で動作が実証された高品質のパッケージを RHELCentOS のような互換ディストリビューションでも使えるようにしたのが「epel」リポジトリです。 Fedora が提供してくれてます。

CentOS では、CentOS Extras リポジトリに「epel」リポジトリを使えるようにするパッケージが含まれており、 「epel-release」のインストールで「epel」リポジトリが使えるようになります。

-

epel を追加:

$ sudo dnf install epel-release
:
インストール中:
 epel-release          noarch          8-8.el8            extras           23 k

→extras リポジトリに含まれています。

確認:

$ sudo dnf update
Extra Packages for Enterprise Linux Modular 8 -  81 kB/s |  82 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64  3.9 MB/s | 7.4 MB     00:01

$ dnf search ibus-mozc
Extra Packages for Enterprise Linux Modular 8 -  80 kB/s |  82 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64  3.5 MB/s | 7.4 MB     00:02
=========================== 名前 完全一致: ibus-mozc ===========================
ibus-mozc.x86_64 : The mozc engine for IBus input platform

→今までヒットしなかった「ibus-mozc」パッケージが、ヒットしました。

-

上級者向け: epel の設定ファイルを修正して調整できます:

$ sudo nano /etc/yum.repos.d/epel.repo

↓ 有効フラグ、優先度の修正:

[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
# [enabled=1] = リポジトリ有効, [enabled=0] = リポジトリ無効
enabled=1
# [priority=*] を追記することで優先度を指定可
# 1-99 を指定可, 1 が最優先, 未指定の場合のデフォルトは 99
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
:

-

上級者向け: 通常時は無効なパッケージ(enabled=0)だけど、一時的に有効にしてインストールできます:

$ sudo dnf --enablerepo=epel install [パッケージ名]

-


日本語入力の設定

CentOS をインストール、その後のGNOME 起動時の「Welcome」画面にて、 入力として「日本語(かな漢字)」(ibus-kkc)を選びました。なので、入力メソッドは有効化されています。

Windows + スペース」してから「半角/全角」キーで日本語オン/オフでき、日本語入力(ibus-kkc)できます。

-


現在の入力メソッド関連のパッケージを確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64                               1.5.19-11.el8          @AppStream
ibus-gtk3.x86_64                               1.5.19-11.el8          @AppStream
ibus-hangul.x86_64                             1.5.1-4.el8            @AppStream
ibus-kkc.x86_64                                1.5.22-9.el8           @AppStream
ibus-libpinyin.x86_64                          1.10.0-1.el8           @AppStream
ibus-libs.x86_64                               1.5.19-11.el8          @AppStream
ibus-libzhuyin.x86_64                          1.8.93-1.el8           @AppStream
ibus-m17n.x86_64                               1.3.4-26.el8           @AppStream
ibus-setup.noarch                              1.5.19-11.el8          @AppStream
ibus-typing-booster.noarch                     2.1.0-3.el8            @AppStream

→余計なものが多すぎ。

-

これだけは必要:

ibus-gtk2.x86_64                               1.5.19-11.el8          @AppStream
ibus-gtk3.x86_64                               1.5.19-11.el8          @AppStream
ibus-kkc.x86_64                                1.5.22-9.el8           @AppStream
ibus-libs.x86_64                               1.5.19-11.el8          @AppStream
ibus-setup.noarch                              1.5.19-11.el8          @AppStream

-

不要:

ibus-hangul.x86_64                             1.5.1-4.el8            @AppStream
ibus-libpinyin.x86_64                          1.10.0-1.el8           @AppStream
ibus-libzhuyin.x86_64                          1.8.93-1.el8           @AppStream
ibus-m17n.x86_64                               1.3.4-26.el8           @AppStream
ibus-typing-booster.noarch                     2.1.0-3.el8            @AppStream

→あとで、まとめて削除予定

-


日本語入力の「ibus-kkc」は誤変換が多いので入力メソッドを変更:

デフォルトの「日本語(かな漢字)」(ibus-kkc) は、見当違いの候補が毎回表示され、入力効率が悪すぎ。 続けて使うのは断念。入力メソッドを変更しました。この辺りは好み。

-

ibus-mozc のインストール:

$ sudo dnf install ibus-mozc
:
インストール中:
 ibus-mozc           x86_64     2.23.2815.102-8.el8.2       epel          445 k
依存関係のインストール中:
 mozc                x86_64     2.23.2815.102-8.el8.2       epel           14 M
 protobuf            x86_64     3.5.0-7.el8                 AppStream     901 k
 zinnia              x86_64     0.06-46.el8                 epel           71 k
弱い依存関係のインストール中:
 zinnia-tomoe-ja     x86_64     0.06-46.el8                 epel           12 M
:
警告: /var/cache/dnf/epel-6519ee669354a484/packages/ibus-mozc-2.23.2815.102-8.el8.2.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64  1.6 MB/s | 1.6 kB     00:00    
GPG 鍵 0x2F86D6A1 をインポート中:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

これでよろしいですか? [y/N]: y
:
インストール済み:
  ibus-mozc-2.23.2815.102-8.el8.2.x86_64    mozc-2.23.2815.102-8.el8.2.x86_64   
  protobuf-3.5.0-7.el8.x86_64               zinnia-0.06-46.el8.x86_64           
  zinnia-tomoe-ja-0.06-46.el8.x86_64       

完了しました!

→各パッケージに「epel」が付いていることに注目。 そして、「Fedora EPEL (8)」のGPG キーがインポートされました。

画面右上の「電源」ボタン→ユーザ名→ログアウト(隠れてます)→ログアウト

パスワードを入れて、ログイン

-

入力メソッドの切り替え:

Windows + A」→設定 →「地域と言語」タブ →入力ソース

- 日本語

- 日本語(かな漢字)

↓ 変更(削除して追加)

- 日本語

- 日本語 (Mozc)

ログアウト →ログイン

-

テキストエディタにて、「Windows + スペース」→「Mozc」に切り替え。

あとは、「半角/全角」キーで日本語オン/オフできます。

-

日本語オン/オフ を別々のキーに割当て:

パネルの「あ」アイコンをクリック →ツール →プロパティ →「Mozc プロパティ」画面→「一般」タブ→「初期値に戻す」 →OK

→キー設定の選択: →「カスタム」を選んで右の「編集」をクリック。

→「Mozc キー設定」画面(ウィンドウは広げると作業しやすいです)

左下の「編集」→「定義済みのキーマップからインポート」→「MS-IME」→OK

「編集」にて、

- 「ひらがな」キーで「IME オン」→日本語

-  「無変換」キーで「IME オフ」→英語

となるように、キーの割当てを数箇所変えました。

(mozc は入力メソッドのオン、オフを割当てできるのが利点です)

→日本語入力できました。誤変換は前よりも少なくなりました。

-


削除しまくり:

削除 1: 使わない国の入力メソッド

$ sudo dnf remove ibus-hangul ibus-kkc ibus-libpinyin ibus-libzhuyin ibus-m17n ibus-typing-booster
:
削除済み:
  cldr-emoji-annotation-33.1.0_0-1.el8.noarch
  google-noto-emoji-color-fonts-20180508-4.el8.noarch
  ibus-hangul-1.5.1-4.el8.x86_64
  ibus-kkc-1.5.22-9.el8.x86_64
  ibus-libpinyin-1.10.0-1.el8.x86_64
  ibus-libzhuyin-1.8.93-1.el8.x86_64
  ibus-m17n-1.3.4-26.el8.x86_64
  ibus-typing-booster-2.1.0-3.el8.noarch
  kyotocabinet-libs-1.2.76-17.el8.x86_64
  libgee-0.20.1-1.el8.x86_64
  libhangul-0.1.0-16.el8.x86_64
  libkkc-0.3.5-12.el8.x86_64
  libkkc-common-0.3.5-12.el8.noarch
  libkkc-data-1:0.2.7-12.el8.x86_64
  libpinyin-2.2.0-1.el8.x86_64
  libpinyin-data-2.2.0-1.el8.x86_64
  libzhuyin-2.2.0-1.el8.x86_64
  m17n-db-1.8.0-3.el8.noarch
  m17n-lib-1.8.0-2.el8.x86_64
  marisa-0.2.4-36.el8.x86_64
  python3-enchant-2.0.0-3.el8.noarch
  skkdic-20170102-4.T1100.el8.noarch
  unicode-ucd-11.0.0-1.el8.noarch

-

削除 2: 使わない国のフォント

$ sudo dnf remove google-noto-sans-lisu-fonts google-noto-sans-mandaic-fonts google-noto-sans-meetei-mayek-fonts google-noto-sans-sinhala-fonts google-noto-sans-tagalog-fonts google-noto-sans-tai-tham-fonts google-noto-sans-tai-viet-fonts
:
削除済み:
  google-noto-fonts-common-20161022-7.el8.noarch
  google-noto-sans-lisu-fonts-20161022-7.el8.noarch
  google-noto-sans-mandaic-fonts-20161022-7.el8.noarch
  google-noto-sans-meetei-mayek-fonts-20161022-7.el8.noarch
  google-noto-sans-sinhala-fonts-20161022-7.el8.noarch
  google-noto-sans-tagalog-fonts-20161022-7.el8.noarch
  google-noto-sans-tai-tham-fonts-20161022-7.el8.noarch
  google-noto-sans-tai-viet-fonts-20161022-7.el8.noarch

-

削除 3: 使わない国のフォント

$ sudo dnf remove lohit-assamese-fonts lohit-bengali-fonts lohit-devanagari-fonts lohit-gujarati-fonts lohit-kannada-fonts lohit-odia-fonts lohit-tamil-fonts lohit-telugu-fonts
:
削除済み:
  lohit-assamese-fonts-2.91.5-3.el8.noarch
  lohit-bengali-fonts-2.91.5-3.el8.noarch
  lohit-devanagari-fonts-2.95.4-3.el8.noarch
  lohit-gujarati-fonts-2.92.4-3.el8.noarch
  lohit-kannada-fonts-2.5.4-3.el8.noarch
  lohit-odia-fonts-2.91.2-3.el8.noarch
  lohit-tamil-fonts-2.91.3-3.el8.noarch
  lohit-telugu-fonts-2.5.5-3.el8.noarch 

-

削除 4: 使わない国のフォント

$ sudo dnf remove aajohan-comfortaa-fonts jomolhari-fonts khmeros-base-fonts khmeros-fonts-common sil-abyssinica-fonts sil-padauk-fonts sil-mingzat-fonts sil-nuosu-fonts smc-meera-fonts thai-scalable-fonts-common thai-scalable-waree-fonts
:
削除済み:
  jomolhari-fonts-0.003-24.el8.noarch
  khmeros-base-fonts-5.0-25.el8.noarch
  khmeros-fonts-common-5.0-25.el8.noarch
  sil-abyssinica-fonts-1.200-13.el8.noarch
  sil-nuosu-fonts-2.1.1-14.el8.noarch
  sil-padauk-fonts-3.003-1.el8.noarch
  smc-fonts-common-6.1-10.el8.noarch
  smc-meera-fonts-6.1-10.el8.noarch
  thai-scalable-fonts-common-0.6.5-1.el8.noarch
  thai-scalable-waree-fonts-0.6.5-1.el8.noarch

-

残したフォント:

$ dnf list google-noto-sans-*
:
インストール済みパッケージ
google-noto-sans-cjk-ttc-fonts.noarch

-

最終的なフォントの確認:

$ dnf list *fonts*

他にも使わないフォントはあるだろうし、システム更新やオフィスなどのパッケージのインストールで復活するフォントもあります。

-


現在の入力メソッド関連のパッケージを確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64                           1.5.19-11.el8              @AppStream
ibus-gtk3.x86_64                           1.5.19-11.el8              @AppStream
ibus-libs.x86_64                           1.5.19-11.el8              @AppStream
ibus-mozc.x86_64                           2.23.2815.102-8.el8.2      @epel     
ibus-setup.noarch                          1.5.19-11.el8              @AppStream

→別のパッケージを入れると ibus-kkc は復活したりします。削除しても放おっておいても OK

-

$ dnf list *mozc*
:
インストール済みパッケージ
ibus-mozc.x86_64                   2.23.2815.102-8.el8.2                   @epel
mozc.x86_64                        2.23.2815.102-8.el8.2                   @epel

-


GNOME 端末」の起動時のウィンドウサイズを変更:

横幅がせまくて、縦が長い方が、投稿に利用するには使いやすいです。 広く使いたいときは、画面の右端もしくは上端にでもぶつければ OK

右上の横三棒→設定→「名前なし」タブ→「文字」タブ→文字の外観

起動時の端末サイズ: 80 列  24 列
↓
起動時の端末サイズ: 80 列  52 列

-


「gedit」の設定

挿入する日付/時刻の書式を設定:

右上の横三棒 →設定 →プラグイン →日付/時刻の挿入 →設定

その他: %Y-%m-%d %H:%M

右上の横三棒 →ツール→「Insert Date and Time...」

2020-07-25 18:48

-


「geany」のインストール

  • 「epel」リポジトリの追加でインストールできました。
$ sudo dnf install geany
:
インストール中:
 geany                  x86_64         1.36-3.el8            epel         2.6 M
依存関係のインストール中:
 geany-libgeany         x86_64         1.36-3.el8            epel         1.2 M

$ sudo dnf install geany-themes
:
インストール中:
 geany-themes          noarch          1.27-8.el8           epel           28 k

$ geany --version
geany 1.36 (Apr  8 2020 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

Fedora と同じように日本語入力の候補窓が左端になります。でも、CentOS では日本語入力できました。

ちなみに、「geany」はQt アプリではありませんが、Fedora 32 のwayland だと、日本語の候補窓が点滅して日本語入力できません。

-

テーマの設定:

表示 →色の設定 →「Monokai」

-

挿入する時刻のフォーマットを設定:

編集 →日付を挿入 →任意の日付書式を設定 →「%Y-%m-%d %H:%M」→OK

-

日付/時刻を挿入するには

編集 →日付を挿入 →任意の日付書式を使用する

2020-07-25 18:51

-


「kolourpaint」のインストール

  • 「epel」リポジトリの追加でインストールできました。

個人的によく使う画像加工処理ソフトです。画像を右クリックして起動することが多いです。

$ sudo dnf install kolourpaint

→Qt アプリです。依存でたくさんのパッケージが入りました。

-

Qt アプリの「KolourPaint」にて日本語入力できました

「geany」で日本語入力できたので、もしかしたらと思い、 「KolourPaint」にてテキストボックスへ日本語入力したらできました。

ちなみに、Fedora 32 のwayland だと、日本語入力できません。

もしかしたら、Wayland で、Qt アプリで日本語入力できない問題は「CentOS」では発生しないかもしれません。

→Qt アプリのテキストエディタの多くがリポジトリになく「インストールできない」ので確認できません。

-

やっぱり、端末でバージョン表示させると警告が出ます

$ kolourpaint --version
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
kolourpaint 19.12.2

Bug 1732129 - Qt Wayland By Default On Gnome を参照:

Gnome のWayland セッションでのみ、Qt アプリケーションに問題が発生します。 KDE プラズマ Wayland や Xorg 環境では発生しません。 「qt5-qtbase」モジュールを変更する必要があります。(Fedora 31 で報告されていますが、解決はまだみたい)

-


「qpdfview」のインストール(失敗)

個人的によく使うPDF ビュワーです。 表紙付きの見開きで、読む方向を指定できるのが利点。この機能が両方あるビュワーは少ないです。

$ sudo dnf install qpdfview
:
No match for argument: qpdfview
エラー: 一致するものが見つかりません: qpdfview

→「epel」リポジトリにありません。

しかたないので「qpdfview」の代わりに「okular」をインストールしてみました。(下記)

-


「okular」のインストール

  • 「epel」リポジトリの追加でインストールできました。(注意点あり)
$ sudo dnf install okular
:
 問題: package okular-19.12.3-2.el8.x86_64 requires okular-part(x86-64) = 19.12.3-2.el8, but none of the providers can be installed
  - conflicting requests
  - nothing provides libpoppler-qt5.so.1()(64bit) needed by okular-part-19.12.3-2.el8.x86_64

→依存する libpoppler-qt5.so.1()(64bit) がインストールできない問題があると表示されます。

libpoppler への依存関係が壊れており、okular をインストールできません。ファイル配置のミス。

修正後:

okular-19.12.3-2.el8.x86_64

すでに修正されて「epel」に反映されています。

-

現在 有効なリポジトリを確認:

$ dnf repolist
repo id            repo の名前
AppStream          CentOS-8 - AppStream
BaseOS             CentOS-8 - Base
code               Visual Studio Code
epel               Extra Packages for Enterprise Linux 8 - x86_64
epel-modular       Extra Packages for Enterprise Linux Modular 8 - x86_64
extras             CentOS-8 - Extras

現在 有効ではない(無効の)リポジトリを確認:

$ dnf repolist --disabled
:
PowerTools         CentOS-8 - PowerTools

→これが原因。「Powertools」リポジトリが無効なため「poppler-qt5」が見つからないみたい。

-

「Powertools」リポジトリを有効にします:

$ sudo dnf config-manager --enable PowerTools

-

リポジトリが有効になったか確認:

$ dnf repolist
repo id            repo の名前
AppStream          CentOS-8 - AppStream
BaseOS             CentOS-8 - Base
PowerTools         CentOS-8 - PowerTools  ←(追加されました)
code               Visual Studio Code
epel               Extra Packages for Enterprise Linux 8 - x86_64
epel-modular       Extra Packages for Enterprise Linux Modular 8 - x86_64
extras             CentOS-8 - Extras

-

okular のインストール前の確認:

$ sudo dnf list okular
CentOS-8 - AppStream                            2.6 MB/s | 5.8 MB     00:02
CentOS-8 - Base                                 2.2 MB/s | 2.2 MB     00:01
CentOS-8 - Extras                               9.1 kB/s | 7.0 kB     00:00
CentOS-8 - PowerTools                           1.8 MB/s | 1.9 MB     00:01 ←(重要)
Extra Packages for Enterprise Linux Modular 8 - 141 kB/s |  82 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64  4.1 MB/s | 7.4 MB     00:01
Visual Studio Code                               85 kB/s | 5.0 MB     01:00
利用可能なパッケージ
okular.x86_64                         19.12.3-2.el8                         epel

-

okular のインストール:

$ sudo dnf install okular
:
インストール中:
 okular                         x86_64   19.12.3-2.el8       epel         4.4 M
依存関係のインストール中:
 accounts-qml-module            x86_64   0.7-1.el8           epel          87 k
 exiv2-libs                     x86_64   0.27.2-5.el8        AppStream    851 k
 kaccounts-integration          x86_64   19.12.2-3.el8       epel         104 k
 kdegraphics-mobipocket         x86_64   19.12.2-1.el8       epel          47 k
 kf5-kactivities                x86_64   5.68.0-1.el8        epel         152 k
 kf5-kdeclarative               x86_64   5.68.0-1.el8        epel         297 k
 kf5-kjs                        x86_64   5.68.0-1.el8        epel         326 k
 kf5-kpackage                   x86_64   5.68.0-1.el8        epel         227 k
 kf5-kpty                       x86_64   5.68.0-2.el8        epel          77 k
 kf5-libkexiv2                  x86_64   19.12.2-1.el8       epel         157 k
 kf5-purpose                    x86_64   5.68.0-1.el8.1      epel         433 k
 kf5-threadweaver               x86_64   5.68.0-1.el8        epel          81 k
 libaccounts-glib               x86_64   1.23-8.el8          epel          86 k
 libaccounts-qt5                x86_64   1.16-1.el8          epel          64 k
 libmarkdown                    x86_64   2.2.4-2.el8         epel          49 k
 okular-libs                    x86_64   19.12.3-2.el8       epel         375 k
 okular-part                    x86_64   19.12.3-2.el8       epel         1.8 M
 phonon-qt5                     x86_64   4.11.1-3.el8        epel         313 k
 poppler-qt5                    x86_64   0.66.0-26.el8       PowerTools   208 k ←(重要)
 qca-qt5                        x86_64   2.2.1-3.el8         epel         458 k
 qt5-qtspeech                   x86_64   5.12.8-1.el8        epel          45 k
 signon                         x86_64   8.60-5.el8          epel         415 k
 signon-plugin-oauth2           x86_64   0.22-9.el8          epel          79 k
弱い依存関係のインストール中:
 exiv2                          x86_64   0.27.2-5.el8        AppStream    1.0 M
 phonon-qt5-backend-gstreamer   x86_64   2:4.10.0-1.el8      epel         181 k
 qca-qt5-ossl                   x86_64   2.2.1-3.el8         epel         107 k
 qt5-qtspeech-speechd           x86_64   5.12.8-1.el8        epel          28 k

-

インストールされたか確認:

$ sudo dnf list okular
:
インストール済みパッケージ
okular.x86_64                        19.12.3-2.el8                         @epel

→インストールされました。

-

バージョン表示で警告が出るかの確認:

$ okular --version
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
okular 1.9.3

→Qt アプリです。警告が表示されます。

-

okular が日本の雑誌に使えるか確認:

Ctrl+M でメニューバーの表示/非表示の切り替えができます。これを覚えておけばあとは何とかなります。

表紙付きの見開き表示はできます。ただし、読む方向が指定できません。左から右への固定です。 日本の雑誌や書籍の場合に問題になりそう。自炊したコミック本(表紙と本文の間がバラバラ)とか、見開きが左右ズレてしまう本があるかもしれません。

-


「ドキュメントビュワー」の使い方の注意点

注意点は、ツールバーで「ページに合わせる」とかに設定したら、ウィンドウの空き部分を一度クリックしておかないと、ページ操作がうまく行きません。設定値がいじられてしまいます。

見開きページに設定したとき、「奇数ページを左に」にチェックするか、しないかで見開きのズレを調整できます。

読む方向の指定はありません。最後のページに飛んで、逆から読めばなんとかなるのか、テストできるPDF がないので、今のところ未確認。

-


しばらく使って気付いたこと

1. CentOS では、Fedora よりもインストールできるアプリは限られます

「epel」リポジトリを追加しても、インストールできないアプリがありました:

-

2. CentOS では、goup install でインストールできるグループは少なめです

CentOS に「epel」リポジトリを追加したとき:

$ dnf group list
:
利用可能な環境グループ:
   サーバー (GUI 使用)
   サーバー
   最小限のインストール
   KDE Plasma デスクトップワークスペース  ←(追加)
   仮想化ホスト
インストール済みの環境グループ:
   ワークステーション
   カスタムオペレーティングシステム
インストール済みのグループ:
   開発ツール
   グラフィカル管理ツール
   システムツール
利用可能なグループ:
   コンテナー管理
   .NET Core 開発
   RPM 開発ツール
   ヘッドレス管理
   レガシーな UNIX 互換性
   ネットワークサーバー
   科学的サポート
   セキュリティーツール
   スマートカードサポート
   Fedora パッケージャ
   Xfce          ←(追加)

→「epel」リポジトリの追加で、(追加)のデスクトップ環境が 2つ増えました。 でも、「python-classroom」がないのは惜しいところ

-


CentOSリポジトリ:

現在利用できるリポジトリを全て表示:

$ dnf repolist all

repo id                        repo の名前                                状態
AppStream                      CentOS-8 - AppStream                       有効化
AppStream-source               CentOS-8 - AppStream Sources               無効化
BaseOS                         CentOS-8 - Base                            有効化
BaseOS-source                  CentOS-8 - BaseOS Sources                  無効化
Devel                          CentOS-8 - Devel WARNING! FOR BUILDROOT US 無効化
HighAvailability               CentOS-8 - HA                              無効化
PowerTools                     CentOS-8 - PowerTools                      有効化
base-debuginfo                 CentOS-8 - Debuginfo                       無効化
c8-media-AppStream             CentOS-AppStream-8 - Media                 無効化
c8-media-BaseOS                CentOS-BaseOS-8 - Media                    無効化
centosplus                     CentOS-8 - Plus                            無効化
centosplus-source              CentOS-8 - Plus Sources                    無効化
code                           Visual Studio Code                         有効化
cr                             CentOS-8 - cr                              無効化
epel                           Extra Packages for Enterprise Linux 8 - x8 有効化
epel-debuginfo                 Extra Packages for Enterprise Linux 8 - x8 無効化
epel-modular                   Extra Packages for Enterprise Linux Modula 有効化
epel-modular-debuginfo         Extra Packages for Enterprise Linux Modula 無効化
epel-modular-source            Extra Packages for Enterprise Linux Modula 無効化
epel-playground                Extra Packages for Enterprise Linux 8 - Pl 無効化
epel-playground-debuginfo      Extra Packages for Enterprise Linux 8 - Pl 無効化
epel-playground-source         Extra Packages for Enterprise Linux 8 - Pl 無効化
epel-source                    Extra Packages for Enterprise Linux 8 - x8 無効化
epel-testing                   Extra Packages for Enterprise Linux 8 - Te 無効化
epel-testing-debuginfo         Extra Packages for Enterprise Linux 8 - Te 無効化
epel-testing-modular           Extra Packages for Enterprise Linux Modula 無効化
epel-testing-modular-debuginfo Extra Packages for Enterprise Linux Modula 無効化
epel-testing-modular-source    Extra Packages for Enterprise Linux Modula 無効化
epel-testing-source            Extra Packages for Enterprise Linux 8 - Te 無効化
extras                         CentOS-8 - Extras                          有効化
extras-source                  CentOS-8 - Extras Sources                  無効化
fasttrack                      CentOS-8 - fasttrack                       無効化
  • Visual Studio Code は、手動で追加したリポジトリです。

  • PowerTools は、「okular」アプリのインストールに必要なので有効化しました。

  • CentOS Plus は、デフォルトで無効化されています。

  • epel (Extra Packages for Enterprise Linux) は、Fedora 提供のリポジトリで、インストールして有効化しました。やり方は記述しています。オススメ。

  • リポジトリの概要は、下記が参考になります。感謝。:

CentOS 7のパブリックミラーサイトのディレクトリ構成

-


削除しまくり:

使わない入力メソッド関連の削除:

$ sudo dnf remove ibus-hangul ibus-kkc ibus-libpinyin ibus-libzhuyin ibus-m17n ibus-typing-booster
:
削除済み:
  cldr-emoji-annotation-33.1.0_0-1.el8.noarch
  google-noto-emoji-color-fonts-20180508-4.el8.noarch
  ibus-hangul-1.5.1-4.el8.x86_64
  ibus-kkc-1.5.22-9.el8.x86_64
  ibus-libpinyin-1.10.0-1.el8.x86_64
  ibus-libzhuyin-1.8.93-1.el8.x86_64
  ibus-m17n-1.3.4-26.el8.x86_64
  ibus-typing-booster-2.1.0-3.el8.noarch
  kyotocabinet-libs-1.2.76-17.el8.x86_64
  libgee-0.20.1-1.el8.x86_64
  libhangul-0.1.0-16.el8.x86_64
  libkkc-0.3.5-12.el8.x86_64
  libkkc-common-0.3.5-12.el8.noarch
  libkkc-data-1:0.2.7-12.el8.x86_64
  libpinyin-2.2.0-1.el8.x86_64
  libpinyin-data-2.2.0-1.el8.x86_64
  libzhuyin-2.2.0-1.el8.x86_64
  m17n-db-1.8.0-3.el8.noarch
  m17n-lib-1.8.0-2.el8.x86_64
  marisa-0.2.4-36.el8.x86_64
  python3-enchant-2.0.0-3.el8.noarch
  skkdic-20170102-4.T1100.el8.noarch
  unicode-ucd-11.0.0-1.el8.noarch

確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64                           1.5.19-11.el8              @AppStream
ibus-gtk3.x86_64                           1.5.19-11.el8              @AppStream
ibus-libs.x86_64                           1.5.19-11.el8              @AppStream
ibus-mozc.x86_64                           2.23.2815.102-8.el8.2      @epel
ibus-setup.noarch                          1.5.19-11.el8              @AppStream

使わないフォントの削除 1:

$ sudo dnf remove google-noto-sans-lisu-fonts google-noto-sans-mandaic-fonts google-noto-sans-meetei-mayek-fonts google-noto-sans-sinhala-fonts google-noto-sans-tagalog-fonts google-noto-sans-tai-tham-fonts google-noto-sans-tai-viet-fonts
:
削除済み:
  google-noto-fonts-common-20161022-7.el8.noarch
  google-noto-sans-lisu-fonts-20161022-7.el8.noarch
  google-noto-sans-mandaic-fonts-20161022-7.el8.noarch
  google-noto-sans-meetei-mayek-fonts-20161022-7.el8.noarch
  google-noto-sans-sinhala-fonts-20161022-7.el8.noarch
  google-noto-sans-tagalog-fonts-20161022-7.el8.noarch
  google-noto-sans-tai-tham-fonts-20161022-7.el8.noarch
  google-noto-sans-tai-viet-fonts-20161022-7.el8.noarch

確認:

$ dnf list google-noto-sans-*
:
インストール済みパッケージ
google-noto-sans-cjk-ttc-fonts.noarch

使わないフォントの削除 2:

$ sudo dnf remove lohit-assamese-fonts lohit-bengali-fonts lohit-devanagari-fonts lohit-gujarati-fonts lohit-kannada-fonts lohit-odia-fonts lohit-tamil-fonts lohit-telugu-fonts
:
削除済み:
  lohit-assamese-fonts-2.91.5-3.el8.noarch
  lohit-bengali-fonts-2.91.5-3.el8.noarch
  lohit-devanagari-fonts-2.95.4-3.el8.noarch
  lohit-gujarati-fonts-2.92.4-3.el8.noarch
  lohit-kannada-fonts-2.5.4-3.el8.noarch
  lohit-odia-fonts-2.91.2-3.el8.noarch
  lohit-tamil-fonts-2.91.3-3.el8.noarch
  lohit-telugu-fonts-2.5.5-3.el8.noarch 

使わないフォントの削除 3:

$ sudo dnf remove aajohan-comfortaa-fonts jomolhari-fonts khmeros-base-fonts khmeros-fonts-common sil-abyssinica-fonts sil-padauk-fonts sil-mingzat-fonts sil-nuosu-fonts smc-meera-fonts thai-scalable-fonts-common thai-scalable-waree-fonts
:
削除済み:
  jomolhari-fonts-0.003-24.el8.noarch
  khmeros-base-fonts-5.0-25.el8.noarch
  khmeros-fonts-common-5.0-25.el8.noarch
  sil-abyssinica-fonts-1.200-13.el8.noarch
  sil-nuosu-fonts-2.1.1-14.el8.noarch
  sil-padauk-fonts-3.003-1.el8.noarch
  smc-fonts-common-6.1-10.el8.noarch
  smc-meera-fonts-6.1-10.el8.noarch
  thai-scalable-fonts-common-0.6.5-1.el8.noarch
  thai-scalable-waree-fonts-0.6.5-1.el8.noarch

-

最終確認:

$ dnf list *fonts*

-


まとめ

CentOS はサーバーとして使われることが多いためか、インストーラに以前あった「ワークステーション」の項目は消えています。サーバーでGNOME の機能を入れるのとは少し違うと思うので、デスクトップ環境をメインで使いたいときは分かりづらいかも。

-

CentOS 8 からは dnf コマンドが使えるので操作感はFedora と同じです。ただし、リポジトリが違うのでアプリのインストールには苦労します(欲しいアプリが簡単にはインストールできない…)。

Fedoraリポジトリの一部を流用できるしくみ(epel リポジトリ)があり助かりますが、それでも少ないです。欲しかったらビルドかな…。

-

Fedora をインストールして慣れていたので、CentOS にも入りやすかったです。 どちらにしても、一度使える環境にすれば、安定動作と長期サポートは魅力です。

-

-


目次

先頭

-


-

CentOS 8.2 をUSBメモリにインストール〈H81〉

登録日: 2020-07-25 更新日: 2020-07-31

前回は、「Fedora Workstation 32」(GNOME) を USB メモリにインストール しました。ですが、新しいカーネルで問題が発生しました。

そこで安定動作の「CentOS」をインストールしてみました。 CentOS は、サーバーとしてよく使われていますが、GNOME デスクトップ環境をインストールしてワークステーションとしても使えます。使われているカーネルは枯れており、安定動作が期待できます。

試したのは、公開されたばかりで最新の「CentOS-8.2.2004」です。

(2004 の数字は2020年04月のことで、元になったRHELのソースの日付を表しています)

-

「目次」

-


CentOS 8.2

GNOME デスクトップ環境をインストールした直後の画面:

Windows キーを押したところ。まだ、日本語化はしていない状態。これからです。

壁紙に注目すると「8」がデザインされてます。今回のソフトウェアの選択でのアプリの状態は、多すぎず、少なすぎずかなと思います。Office 等はまだ入っていません。

このあと、お気に入りの登録はもっとシンプルにしました。

-

参考:

CentOS wiki

CentOS Linux

Red Hat 社が商用 Linux の「RHEL」のソースを公開しています。そのソースを使い、「CentOS Project」コミュニティが商標部分を取り除いてビルドし直した Linux ディストリビューションが、CentOSセントオーエス)です。

商用のRHEL と機能的に高い互換性を持ちます。つまり、無料でありながら、商用の品質です。

ただし、ミラーサイトや、リポジトリなどは違い、インストールできるアプリに制限があります。

メジャーアップデートは 3~ 5 年ごと、マイナーアップデートは 半年~1年ごとです。

長いサポート期間(10年)と、高い安定性で、サーバーとしてよく使われています。

-

イメージのリリース形式としては:

CentOS Linux」 →バージョン番号は 8.0、8.1、8.2、刻みです。半年~1年ごとにリリース

CentOS Stream」 →ローリングリリースで、1~3か月ごとにリリース。開発バージョンという位置付け。

-


最新のイメージファイル:

CentOS 8.2.2004 (カーネル 4.18.0-193)

イメージ公開: 2020-06-09(RHEL 8.2 2020-04 のソースがベース)

フルアップデート終了: 2024-05(機能アップが望める期間)

メンテナンスアップデート終了: 2029-05-31(サポート期間)

-

カーネルは、Ubuntu 18.10 や Linux Mint 19.1 で使われていたころのバージョンです。 2年弱なので、サーバーのカーネルとしては新しいと思います。

-


ダウンロード:

ISO x86_64

利用可能な限られた帯域幅を節約するために、ISO イメージは mirror.centos.org からダウンロードできません。 住んでいる地域のミラーで、ISOイメージを利用できます。

→今回は、下記に置かれたイメージを使用

CentOS-8.2.2004-x86_64-minimal.iso (2020-06-09)

チェックサムの確認:

$ sha256sum CentOS-8.2.2004-x86_64-minimal.iso
47ab14778c823acae2ee6d365d76a9aed3f95bb8d0add23a06536b58bb5293c0  CentOS-8.2.2004-x86_64-minimal.iso

-


インストール

-

1. 事前作業

今回のライブUSB メモリには、ディスクのパーティションを操作できるアプリが入っていません。 事前に他のOS で、「インストール先となるUSB メモリをパーティションがない状態」にしておきます。

16GB でも、64GB でも良いので、fat32 でフォーマットしたものを使いました。

ディスクの操作は、慎重にやらないと危険なので、まずは、USB メモリをセットしないでアプリで表示されるデバイス番号を確認。その後セットすることで、対象のUSB メモリはそれ以外の番号とわかります。

-

Fedora 32 GNOME で事前作業した場合:

Windows」キー →一番下の「Show Applications」→「Disks」で検索→「Disks」アプリを起動

左側で、63GB(/dev/sdc) をクリック→fat がひとつであることを確認。(重要な目印)

「■」(四角)をクリックしてアンマウント→「▶」(三角)に変わります。

「ー」→「Delete」でパーティションを削除→すべて「FreeSpace」にします。(つまり、何もない状態)

右上の「x」でウィンドウを閉じます。

-


2. ライブUSB メモリで立ち上げ

ブート選択画面が表示されます。

        CentOS Linux 8

Install CentOS Linux 8
Test this media & install CentOS Linux 8
:
      Automatic boot in 60 seconds ...

→自分のPC だと、カウントダウンされず、そのまま動かないので、「Enter」キー押下。

しばらくすると、起動されました。

ちなみに、「Tab」キーを押したときの表示は、下記です。(コマンドの編集モード)

> vmlimz initrd=initrd.img inst.stage2=hd:LABEL=CentOS-8-2-2004-x86_64-dvd  rd.live.check quiet

修正せず、そのまま「Enter」キーで、しばらくすると立ち上がりました。

-


3. インストーラ画面が表示されます。

動作を試すことのできるライブ機能はありません。すぐにインストーラが起動します。

WELCOME TO CENTOS LINUX 8. 

-


4. インストール先になるUSB メモリ(パーティションなし)を挿します。

-


5. 言語:

  • 日本語 →日本語(日本)

→「続行」

-


6. インストール概要: (自動で入力されているので確認)

Fedoraインストーラよりも設定項目が多いです。

  • 地域設定

  キーボード(K)  日本語

  言語サポート(L)  日本語(日本)

  時刻と日付(T)  アメリカ大陸/ニューヨーク タイムゾーン

    →「アジア/東京 タイムゾーン」に変更(地図の日本をクリック)

-

  • ソフトウェア

  インストールソース(I)  ローカルメディア(ISO)

  ソフトウェアの選択(S)  

    ベース環境: サーバー → 「カスタムオペレーティングシステム にチェック

    →その他: 「標準」、「開発ツール」、「グラフィカル管理ツール」、「システムツール」

    →(ここが一番悩んだところ。アプリの数としては良かったみたい。)

-

  • システム

  インストール先(D)  自動パーティション設定が選択されました(赤色)

  KDUMP kdump が有効になります

    →余計なメモリを使いたくないので、「kdump を有効にする」のチェックを外しました

-

  • ネットワークとホスト名(N)  接続していません

    →Ethernet(enp1s0) を選んで、オン →完了

    →有線(enp1s0) で接続されました

-

-

  • ユーザの設定

  root パスワード(R):  root アカウントは無効になっています

  ユーザの作成(U) ユーザは作成されません

-


7. 「インストール先(D)」をクリック

  →挿し込んだUSB メモリが見えないので、右下の「更新」をチェック →再スキャン

  →今回は「sdc / 58.43GiB 空き」だけにチェック(複数のディスクにチェックが付けられるので注意)

  • ストレージの設定

  「自動構成」→「カスタム」にチェック

  →自動構成にすると、LVM2 フォーマットになり、サーバーだとディスクが有効に使えますが、USB メモリへのインストールだと、コンピュータ名がボリューム名になるので他へのマウントが難しくなり、融通が効きません。

-

画面左下の青色の「完全なディスク要約とブートローダー」をクリック

  • 選択したディスク

  sdc にて「ブート」にチェックあり ←確認

→「閉じる」

→左上の「完了」をクリック

-


8. 「手動パーティション設定 」画面

  マウントポイント「/」を選んで、「マウントポイントの追加」をクリック

画面右側にて、

→右下の「設定を更新」をクリック

→左下に黄色の警告→「swap なし」→閉じる

→左上の「完了」をクリック

→再度、「完了」をクリック

「変更の概要」が表示 →「変更を許可する」をクリック

-


9. 「インストール概要: 」画面に戻りました。

  • システム

  インストール先(D)  ストレージ設定チェックに警告(←スワップ領域を指定してないからですが、今回は作りません)

-


10. 「インストール概要: 」画面に戻りました。

各項目にオレンジ色の警告がないことを確認

-


11. 画面右下の「インストールの開始」をクリック

「インストールの進行状況」を表示

  ステータスバーが伸びていきます。

-


12. インストール中に、ユーザの設定を聞いてきます

  • ユーザの設定

  root パスワード(R):  root パスワードが設定されていません

    →パスワード→完了

    →「root パスワードは設定されています」に変化

  ユーザの作成(U) をクリック

    フルネーム: (任意)英字

    ユーザ名: (任意)英字(ユーザー名はホームフォルダの名前にもなります)

「このユーザーを管理者にする」にチェック

Fedora だとここにチェックするとroot パスワードはスキップされますが、CentOS ではスキップされません)

-

  • パスワード:(任意)

  • パスワードの確認:(任意)

→左上のユーザの作成「完了」をクリック

→「管理者 xxx が作成されます」表示

-


13. 「完了しました!」表示

→「再起動」クリック

-


14. ブート選択画面:

CentOS Linux (4.18.0-193.e18.x86_64) 8 (Core) 
CentOS Linux (0-rescue-2e5dd……75191)  8 (Core) 

→すぐに一番上が選ばれて、起動しました。

-


15. ログイン画面

コンソール端末の全画面表示です。

CentOS Linux 8 (Core) 
Kernel 4.18.0-193.e18.x86_64 on an x86_64

Active the web console with: systemctl enable --now cocpit.socket

localhost login:

余計なメッセージで埋まったら、Enter キー

→設定したユーザ名とパスワードを入力

-


インストールしたシステムの確認:

$ uname -r
4.18.0-193.el8.x86_64

$ cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core) 

$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

→「el8」というのは「rhel 8」からきたみたい。platform 名です。

-

インストールされたパッケージグループを確認:

$ dnf group list
:
Available Environment Groups:
   Server with GUI
   Server
   Minimal Install
   Virtualization Host
   Workstation     ←(インストーラの項目として表示されません)
Installed Environment Groups:  ←(インストールされている環境グループ)
   Custom Operating System
Installed Groups:      ←(インストールされているグループ)
   Development Tools
   Graphical Administration Tools
   System Tools
Available Groups:
   Container Management
   .NET Core Development
   RPM Development Tools
   Headless Management
   Legacy UNIX Compatibility
   Network Servers
   Scientific Support
   Security Tools
   Smart Card Support

→インストール時の「ソフトウェアの選択」で指定した項目がそのまま、インストールされました。

 ソフトウェアの選択(S) 

   ベース環境: 「カスタムオペレーティングシステム」にチェック
   その他:   「標準」、「開発ツール」、「グラフィカル管理ツール」、「システムツール」

-

ベース環境: 「カスタムオペレーティングシステム」を見ると:

$ dnf group info 'Custom Operating System'
:
Environment Group: Custom Operating System
 Description: Basic building block for a custom CentOS system.
 Mandatory Groups:
   Core
 Optional Groups:
   Guest Agents
   Standard

これと、「最小インストール」との違いは:

$ dnf group info 'Minimal Install'
:
Environment Group: Minimal Install
 Description: Basic functionality.
 Mandatory Groups:
   Core
 Optional Groups:
   Guest Agents
   Standard

→違いはないので、たぶん、その他の選べる項目が違うのかな。

-

インストーラの項目にはない、「ワークステーション」をのぞくと:

$ dnf group info Workstation
:
Environment Group: Workstation
 Description: Workstation is a user-friendly desktop system for laptops and PCs.
 Mandatory Groups:
   Common NetworkManager submodules
   Core
   Fonts
   GNOME
   Guest Desktop Agents
   Hardware Support
   Internet Browser
   Multimedia
   Printing Client
   Standard
   Workstation product core
   base-x
 Optional Groups:
   Backup Client
   GNOME Applications
   Headless Management
   Internet Applications
   Office Suite and Productivity
   Remote Desktop Clients
   Smart Card Support

→欲しかった「GNOME」デスクトップ環境があります。グループがあれば楽にデスクトップ環境がインストールできます。 オプションで「Office」もあります。(現在はインストールされていません)

ただし、Fonts があるので、余計なフォントが入っていそう。

ちなみに、後で行う「EPEL」リポジトリの追加で「Xfce」、「KDE Plasma」のデスクトップ環境がグループとして増えます。

これらなら、Wayland で使ってもQt アプリで問題はなさそう。

とりあえずは、軽さと安定性で「GNOME クラシック」セッションを使うことになります。地味だけど壁紙しだいで見た目は変わります。

-


システム更新

$ sudo dnf update
:
Importing GPG key 0x8483C65D
UserID : "CentOS(CentOS Official Signing Key) <security@centos.org>"
Fingerprint : 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

Is this OK [y/N] :  y

→初めての更新だったので、GPG キーのインポートをしてもよいかを聞いてきました。 フィンガープリント値が正しいかは、事前に調べておかないとわかりません。

あとで調べたけど、登録されるともう聞いてこないので必要ありませんでした…。

参考:

CentOS 8 の場合のGPGキー:

pub  4096R/8483C65D 2019-05-03 CentOS (CentOS Official Signing Key) <security@centos.org>
Key fingerprint = 99DB 70FA E1D7 CE22 7FB6  4882 05B5 55B3 8483 C65D

→GPGキーはファイルのダウンロードをするときに、そのファイルが安全だと教えてくれるしくみ(署名)です。

-

$ reboot

→再起動されます

-

ブート選択画面:

CentOS Linux (4.18.0-193.6.3.e18_2.x86_64) 8 (Core) 
CentOS Linux (4.18.0-193.e18.x86_64) 8 (Core) 
CentOS Linux (0-rescue-) 8 (Core) 

→OS アップデートがあったので、メニューが増えました。3 秒待ち。

-

追記:

2020-7-31 の更新にて、さらにメニューが増えました。

CentOS Linux (4.18.0-193.14.2.e18_2.x86_64) 8 (Core) 
CentOS Linux (4.18.0-193.6.3.e18_2.x86_64) 8 (Core) 
CentOS Linux (4.18.0-193.e18.x86_64) 8 (Core) 
CentOS Linux (0-rescue-) 8 (Core) 

-


ブート時のメニューの保持数が少ないので増やします:

デフォルトの保持数は 3 です。

Fedora だと、ちゃんと動かないカーネルの更新もけっこうあり、OS アップデート(カーネルの更新)が続いて、カーネル選択メニューが動かないカーネルだらけになり、ちゃんと動くカーネルのメニューが消えたことがあります。 最新のカーネルが良いとは言えないわけです。

安全策として値を増やして、ちゃんと動くときのメニューを残せれば安心です。ただし、増やすとディスク容量を使います。自分は 10 にしますが、安定したCentOS なら 5 でいいかも。

$ sudo nano /etc/dnf/dnf.conf

下記を修正:

installonly_limit=3

↓ 数字を増やします:

installonly_limit=10

確認:

$ cat /etc/dnf/dnf.conf

[main]
gpgcheck=1
installonly_limit=10
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False

-

再起動して反映

-

(次回に続きます)

-


参考: CentOS の設定

サーバー構築の基本 CentOS Linux 8のインストール後に設定する12の項目

CentOS 8 でサーバーの構築をしたい時に参考になる記事です。

今回はクライアント使用なので、あまり使わない項目が多いのですが、サーバーの設定には何が必要なのか眺めておくだけで参考になります。書かれたときよりも現在はバージョンが上がっており、いくらかの違いがみられます。

-


まとめ

Fedora で検証し安定動作するまで改善、それを反映させているのが商用の「RHEL」です。 逆に、Fedora は、新しいハードウェアに対応するため、常にカーネルは最新で、使われている技術も最新。 新鮮ですが実績が少ないわけで問題が発生しやすいです。

-

公開された「RHEL」のソースから商標だけ取り除いてビルドし直したのが、今回の CentOS です。 Fedora でも、RHEL でも検証されて実績があるので安定しています。

CentOS はサーバーとして使われることが多いためか、インストーラに以前あった「ワークステーション」の項目は消えています。サーバーでGNOME の機能を入れるのとは少し違うと思うので、デスクトップ環境をメインで使いたいときは分かりづらいかも。

-

CentOS 8 からはdnf コマンドが使えるので操作感はFedora と同じです。 今回のインストール設定だと、設定のときサーバー的に root でログインしてもいいし、ユーザでログインして sudo を使うこともできるようになります。(シェルの内部コマンドはsudo ではダメだったりします)

次回は、いよいよGNOME デスクトップ環境を インストール します。

-

-


目次

先頭

-


-

Fedora 32 「Python Classroom」Lab をUSBメモリにインストール〈H77〉

登録日: 2020-07-21 更新日: 2020-08-22

前回は、基本の「Fedora Workstation 32」(GNOME) を USB メモリにインストール しました。

Fedora には、他のディストリビューションではあまり見られない、使用目的別の環境が選べる「Fedora Labs」があります。 その中からPython の学習環境である「Python Classroom」を試してみました。

やり方は、「Fedora 32 で group install」するのではなく、「Fedora としてインストール」しました。

-

「目次」

-


GNOME の基本。3つのセッション

ログイン画面でEnter →パスワード入力画面 →右下の設定ボタンをクリック

GNOME
GNOME クラシック
GNOME on Xorg

→選択して、ログイン

-

GNOME」セッション (Wayland) 、「GNOME on Xorg」セッション (Xorg) :

→使われているウィンドウシステムが違うだけで、見た目も使用感もほとんど同じです。

Fedora では「Wayland」がデフォルトですが、他のほとんどのディストリビューションは長年使われて安定している「Xorg (X11)」が使われています。なので今のところ「Wayland」に対応したアプリは少なそう。

-

GNOME クラシック」セッション (Xorg) :

見た目はMATE 風です。絞り込みができる検索機能がなくて、通常のメニュー形式で、動作は軽く感じます。特にブラウザが軽く感じます。

-

カーネル5.7 にアップしたら、自分の環境では、「Wayland」(GNOME )セッションだと追加したアプリが起動しないし、「Xorg」(GNOME on XorgGNOME クラシック)セッションだと、端末だけでなく、すべてのアプリが起動できなくなりました。

カーネル5.6 に留めておくと使えます。(今回のインストール手順)

依存関係で、できたら最終的な5.6.xx が欲しいのですが、5.7 となった今では難しそう。

-


Fedora について

Fedora では、いろいろな環境が提供されています。これも利点。

-


Fedora 32 Workstation

→基本となる「GNOME デスクトップ環境 」です。

-


Fedora Spins

Fedoraコミュニティによる、「GNOME 以外のデスクトップ環境」が提供されています。

  1. Fedora KDE Plasma Spin

  2. Fedora Xfce Spin

  3. Fedora LXQt Spin

  4. Fedora MATE Compiz Spin ←MATE + Compiz Fusion 3Dウィンドウマネージャ

  5. Fedora Cinnamon Spin  ←Gnome 3 の代替として人気

  6. Fedora LXDE Spin

  7. Fedora SoaS Spin (Sugar on a Stick)  ←USBメモリに収まる、子供向けの学習環境

-


Fedora Labs

Fedoraコミュニティによる、「目的別」のソフトウェアとコンテンツが厳選されて、提供されています。 Fedora としてのインストールも、アドオンとしてのインストール(group install)もできます。

  1. Fedora Astronomy(天文学

  2. Comp-Neuro Lab(神経科学)

  3. Design Suite(デザイン)

  4. Games(ゲーム)

  5. Fedora jam(音楽)

  6. Fedora Python Classroom LabPython 開発/学習) ←( 今回のインストール対象

-


Fedora 32 のインストール直後のOS バージョン:

$ uname -r
5.6.6-300.fc32.x86_64

-

更新して最新になったOS バージョン:

2020-07-14 現在:

$ uname -r
5.7.8-200.fc32.x86_64

→最新のカーネルにはリスクがあります。5.7 にアップすると自分の環境?では問題が発生しました。 回避のために、インストールし直してから、インストール手順を少し変更しました。

-


ダウンロード

1. イメージファイルのダウンロード

Fedora-Python-Classroom-Live-x86_64-32-1.6.iso (2020-04-23)

-

2. イメージファイルの検証で使う CHECKSUM ファイルをダウンロード

Fedora-Labs-32-1.6-x86_64-CHECKSUM をクリック→ブラウザで開いたら、右クリック→「名前を付けてページを保存」→「保存」

  • ダウンロードした、Fedora のCHECKSUM ファイルを、先程のイメージの保存場所と同じフォルダーに保存します。
$ cd ~/ダウンロード/Fedora-Python-Classroom/

$ ls
Fedora-Labs-32-1.6-x86_64-CHECKSUM  Fedora-Python-Classroom-Live-x86_64-32-1.6.iso

-

3. Fedora のGPG 鍵をインポート:

$ curl https://getfedora.org/static/fedora.gpg | gpg --import

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10955  100 10955    0     0  21480      0 --:--:-- --:--:-- --:--:-- 21480
gpg: 鍵********CFC659B9:"Fedora (30) <fedora-30-primary@fedoraproject.org>"変更なし
gpg: 鍵********3C3359C4:"Fedora (31) <fedora-31-primary@fedoraproject.org>"変更なし
gpg: 鍵********12C944D0:"Fedora (32) <fedora-32-primary@fedoraproject.org>"変更なし
gpg: 鍵********0608B895:"EPEL (6) <epel@fedoraproject.org>"変更なし
gpg: 鍵********352C64E5:"Fedora EPEL (7) <epel@fedoraproject.org>"変更なし
gpg: 鍵********2F86D6A1:"Fedora EPEL (8) <epel@fedoraproject.org>"変更なし
gpg: 鍵********DBBDCF7C:"Fedora (iot 2019) <fedora-iot-2019@fedoraproject.org>"変更なし
gpg:           処理数の合計: 7
gpg:               変更なし: 7

→少し前にFedora 32 のISO イメージをダウンロードして、GPG 鍵のインポートをしたので、「変更なし」と表示されました。 初めてなら「インポート」と表示されます。

-

4. CHECKSUM ファイルが正常か、CHECKSUMファイル自身を検証:

チェックサムの改ざんがあるとお手上げなので、まずはこちらを確認。

$ gpg --verify-files *-CHECKSUM

gpg: 2020年04月25日 01時58分20秒 JSTに施された署名
gpg:                RSA鍵********12C944D0を使用                  ←(注目)
gpg: "Fedora (32) <fedora-32-primary@fedoraproject.org>"からの正しい署名 [不明の] ←(注目)
gpg: *警告*: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
 主鍵フィンガープリント: 97A1 AE57 C3A2 372C CA3A  4ABA 6C13 026D 12C9 44D0 ←(注目2)

「Fedora (32) <fedora-32-primary@fedoraproject.org>"からの正しい署名」 となっていれば OK。さらにフィンガープリントの値(注目2)も確認するとベスト。

パッケージ署名鍵:

Fedora Project が公開するそれぞれの安定版 RPM パッケージは、GPG で署名されています。 そのパッケージが、Fedora Project によって提供されたもので、改ざんされていないことを確認できます。

現行のキーはこちら:

Fedora 32
id:
4096R/12C944D0 2019-08-12

Fingerprint:
97A1 AE57 C3A2 372C CA3A 4ABA 6C13 026D 12C9 44D0 ←(注目2)

-

5. CHECKSUM ファイルは、以下の鍵のいずれかによる署名が付与されています:

… 12C944D0 - Fedora 32 ←(注目)

項番4. の段階では、gpg の鍵を作成していないので「この鍵は信用できる署名で証明されていません!」と表示されます。

下記の操作でgpg の鍵を作成できますが、作るのは面倒なので、ダウンロードの回数が少ないのならパス。

$ gpg --gen-key

-

6. ダウンロードしたイメージのチェックサムが同じかを検証:

$ sha256sum -c *-CHECKSUM
:
Fedora-Python-Classroom-Live-x86_64-32-1.6.iso: 完了  ←(この行が「完了」表示ならば、チェックサムは同じです)

→他のファイルの定義もあるのでチェックされ、ファイルがないので多くの警告メッセージが表示されます。それらは無視。

-

参考:

sigファイルの電子署名を確認する方法

-


インストール

-

1. 事前作業

今回のライブUSB メモリには、ディスクのパーティションを操作できるアプリが入っていません。 なので、事前に他のOS で、「インストール先となるUSB メモリをパーティションがない状態」にしておきます。

16GB でも良いですが、今回は64GB を使いました。fat32 でフォーマットしています。

下記の操作は、慎重にやらないと危険なので、まずは、USB メモリをセットしないでアプリで表示されるデバイス番号を確認しておくことをオススメします。対象はそれ以外の番号になります。

-

Fedora 32 GNOME で事前作業した場合:

Windows」キー →一番下の「Show Applications」→「Disks」で検索→「Disks」アプリを起動

左側で、63GB(/dev/sdc) をクリック→fat がひとつであることを確認。(重要)

「■」(四角)をクリックしてアンマウント→「▶」(三角)に変わります。

「ー」→「Delete」でパーティションを削除→すべて「FreeSpace」にします。(つまり、何もない状態)

右上の「x」でウィンドウを閉じます。

-


2. ライブUSB メモリで立ち上げ

ブート選択画面が表示されます。

  Fedora-Python-Classroom-Live 32

Start Fedora-Python-Classroom-Live 32
:

→自分のPC だと、メニューは中途半端な表示で、「Enter」キーで進むと「画面真っ暗」になりました。

下記の操作で、回避できました:

「Tab」キーを押します。(ブートコマンドの編集モード)

> vmlimz initrd=initrd.img root=live:CDLABEL=Fedora-Python-Classroom-Live-32-1-6 rd.live.img rd.live.check quiet

↓ カーソルは行末です。「BS」キーを20回押します。

> vmlimz initrd=initrd.img root=live:CDLABEL=Fedora-Python-Classroom-Live-32-1-6 rd.live.img

修正後に「Enter」キー

画面真っ暗から30秒ほどで、メッセージが流れて立ち上がりました。

-


3. ライブの選択画面が表示されます。

  「Welcome to Fedora」

「Try Fedora」  「Install to Hard Drive」

→「Try Fedora」をクリック →「Close」をクリック

-


4. GNOME のデスクトップ画面になります。

-


5. インストール先になるUSB メモリ(パーティションなし)を挿します。

-


6. インストールアプリを立ち上げます

Windows」キー →「f」アイコン (Install to Hard Drive)

Fedora 32へようこそ」画面表示

-


7. 言語:

  • 日本語(Japanese)→日本語(日本)

→「続行」

-


8. インストール概要: (自動で入力されているので確認)

  • 地域設定

  キーボード(K)  日本語

  時刻と日付(T)  アジア/東京 タイムゾーン

-

  • システム

  インストール先(D)  ディスクが選択されていません

-

  • ネットワークとホスト名(N)  有線(enp1s0)で接続されました

-

  • ユーザの設定

  root パスワード(R):  root アカウントは無効になっています

  ユーザの作成(U) ユーザは作成されません

-


9. 「インストール先(D)」をクリック

  • バイスの選択 今回は「sdc」を選択

  • ストレージの設定

  「自動構成」→「カスタム」にチェック

→自動構成にすると、LVM フォーマットになります。(マウントが難しくて融通が効きません)

-

画面左下の青色の「完全なディスク要約とブートローダー」をクリック

  • 選択したディスク

  sdc にて「ブート」にチェックあり ←確認

→「閉じる」

→左上の「完了」をクリック

-


10. 「手動パーティション設定 」画面

→左下の「+」をクリック

  マウントポイント「/」を選んで、「マウントポイントの追加」をクリック

画面右側にて、

→右下の「設定を更新」をクリック

→左上の「完了」をクリック

→再度、「完了」をクリック

「変更の概要」が表示 →「変更を許可する」をクリック

-


11. 「インストール概要: 」画面に戻りました。

  • システム

  インストール先(D)  ストレージ設定チェックに警告(←スワップ領域の指定がないからですが、作りません)

-

  • ユーザの設定

  ユーザの作成(U) をクリック

  • フルネーム: (任意)英字

  • ユーザ名: (任意)英字(ユーザー名はホームフォルダの名前にもなります)

「このユーザーを管理者にする」にチェック

-

  • パスワード:(任意)

  • パスワードの確認:(任意)

→左上のユーザの作成「完了」をクリック

-


12. 「インストール概要: 」画面に戻りました。

各項目にオレンジ色の警告がないことを確認

-


13. 画面右下の「インストールの開始」をクリック

「インストールの進行状況」を表示

  ステータスバーが伸びていきます。

-


14. 「完了しました!」表示

→「終了」

-

15. 右上の「電源」ボタン→「Power off」→「Power off」

-

16. ライブUSB メモリだけを抜いて、電源オン

ブート選択画面:

Fedora (5.6.6-300.fc32.x86_64) 32 (Thirty Two)
Fedora (0-rescue-cf6154bd29f74ee8be5b6acca8114a96) 32 (Thirty Two)


   Use the  and  keys to change the selection.
   Press 'e' to edit the selected item, or 'c' for a command prompt.
The selected entry will be started automatically in 3s.

→3 秒後に一番上の (5.6.6-300) が選ばれます。

ログイン画面 →設定したパスワード入力

-


17. 「ようこそ」画面が表示されるので、設定

日本語

→「次へ」

-

入力 KKC

→「次へ」

-

ネットワーク Wi-Fi

→「スキップ」(有線LAN で接続している場合)

-

プライバシー

  位置情報サービス: オン→オフ

→「次へ」

-

オンラインアカウント

  オンラインアカウントへの接続

→「スキップ」

-

「すべて終えました!」表示

→「Fedora を使い始める」をクリック

-


18. 「ヘルプ」画面(GNOME ヘルプ)の表示で警告

「ヘルプ」画面にて、「ドキュメントが見つかりません」と表示されます。

→「ヘルプ」アプリは入っていますが、「はじめて使う方へ」のドキュメントがインストールされていません。

右上の「x」で閉じます。

-

ちなみに、正常時の表示:

-


追記: インストール直後の更新の前に、OSのバージョンを上げない設定にします

Fedora 32 のOS 更新で、OS バージョンが5.7 にアップすると、5.7 は今のところ問題がありすぎます。 回避するために、「Fedora 32」をインストールしたら、すぐにOSのバージョンを上げない設定にします。

参考:

アップデートの適応

アップデートや依存関係でバージョンが変わらないように、パッケージ検索から除外します。

$ uname -r
5.6.6-300.fc32.x86_64

-

OSのバージョンを上げない設定にします:

$ sudo nano /etc/dnf/dnf.conf

↓ 下記の行を追加:

exclude=kernel*

-

ついでに、ブート時のメニューの保持数が少ないので増やします:

installonly_limit=3

↓ 数字を増やします:

installonly_limit=10

確認:

$ cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=10
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
exclude=kernel*

→保存される数を増やしたので、更新の頻度が少なくなれば、停止は解除してもいいかも。

-

再起動

-


インストール直後のシステム更新

デスクトップ画面の上部に「アップデータあり」の表示

画面上部のパネル中央の時計をクリック→「ソフトウェアのアップデートが利用…」をクリック

→「ソフトウェア」アプリが起動されます

「アップデート」タブに、数字の 28 が表示されています。

→「ダウンロード」をクリック

-

しばらくすると「再起動してアップデート…」が表示されます。 ←( 更新停止で表示されないはず

→「再起動とインストール」をクリック

-


再起動され、立ち上げ中に「Installing Updates …」表示 ←( 更新停止で表示されないはず

ステータスバー表示(時間がかかります)

→すでにインストールは完了しているので、放おっておけます。

-

「更新をインストール後にリブートします…」表示

再起動され、立ち上がりました。

-


ログイン画面表示

ログイン画面のアバター(人形のアイコン)がアルファベットの一文字(例えば、U)です。

-


デスクトップ画面表示

Windows キーを押したとき表示される、左のランチャー(お気に入り)の登録アプリ:

  • Firefox

  • ファイル

  • ソフトウェア

  • 「アプリケーションを表示する」(すべて表示)

-

追加で、「端末」と「テキストエディター」をお気に入りに登録しました。

-


システム更新

-

「ソフトウェア」アプリを最初に起動したとき

-

ウィンドウの上部に、ガイドが表示:

サードパーティーのソフトウェアリポジトリを有効にしますか?

選択したサードパーティーソースにある追加のソフトウェアにアクセスします。このソフトウェアの一部はプロプライエタリです。使用、共有、ソースコードへのアクセスに制限があります。もっと探す…

もっと探す…

→「有効」をクリック

その後、「OS のアップデート」が表示されます。

→「ダウンロード」→「再起動して更新」

再起動されて、更新されます。

カーネルの番号は変わっていません。設定の変更だけでも「OS のアップデート」が走るみたい。

-

コマンドでの更新(更新がないとき):

$ sudo dnf update

[sudo] USER_NAME のパスワード:
メタデータの期限切れの最終確認: 0:37:49 時間前の 2020年07月19日 00時58分26秒 に実施しました。
依存関係が解決しました。

 問題: package virtualbox-guest-additions-6.1.10-2.fc32.x86_64 requires kernel >= 5.6.14, but none of the providers can be installed
  - cannot install the best update candidate for package virtualbox-guest-additions-6.1.4-4.fc32.x86_64
  - package kernel-5.7.8-200.fc32.x86_64 is filtered out by exclude filtering
  - package kernel-core-5.7.8-200.fc32.x86_64 is filtered out by exclude filtering
  - package kernel-debug-core-5.7.8-200.fc32.x86_64 is filtered out by exclude filtering
================================================================================
 Package                        Arch       Version            Repository   Size
================================================================================
壊れた dependencies のパッケージをスキップします:
 virtualbox-guest-additions     x86_64     6.1.10-2.fc32      updates     1.4 M

トランザクションの概要
================================================================================
スキップ  1 パッケージ

行うべきことはありません。
完了しました!

カーネルの更新がされない設定にしたので、カーネルの更新ができないとメッセージが表示されています。

virtualbox-guest-additions の新しい更新は、カーネル5.6.14 以上でないと更新できないみたい。

これらは正常なメッセージで、毎回表示されます。最新のカーネルのバージョン番号をここで確認できます。

-

コマンドでの更新(更新があるとき):

$ sudo dnf update

[sudo] USER_NAME のパスワード:
:
アップグレード  42 パッケージ

ダウンロードサイズの合計: 196 M
これでよろしいですか? [y/N]: y
:
完了しました!

カーネルの更新以外は、(カーネルへの依存がない限り)ちゃんと更新されます。

-

$ uname -r
5.6.6-300.fc32.x86_64

$ uname -a
Linux localhost.localdomain 5.6.6-300.fc32.x86_64 #1 SMP Tue Apr 21 13:44:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

カーネルの更新は止めてますが、これでも新しい方です。

参考:

ちなみに、システムのインストール時には「コンピュータ名」を聞いてこないので、「コンピュータ名」はローカルドメイン名の「localhost.localdomain」になっています。

実はこれがLVM2 でフォーマットした場合、後で、同じfedora のフレーバーのUSB メモリをマウントできない原因になります。自動でパーティションを作ると、デフォルトのLVM2 で作られ、仮想のボリューム名にコンピュータ名「localhost.localdomain」が使われるので、母艦と同じ名前になるので、マウントで拒否されます。

これを防ぐには、手動で領域確保するか、または、すべての領域を使わずに置換を利用して、後ろに未使用パーティションを作っておくやり方があります。あとでfat32 でフォーマットすると自動マウントできるので、データの受け渡しに使えます。

ただし、これをやらなくても、fedora 以外の他のManjaro GNOME 等でマウントすればOK です。

-

$ cat /etc/fedora-release
Fedora release 32 (Thirty Two)

$  cat /etc/redhat-release
Fedora release 32 (Thirty Two)

$ cat /etc/os-release
NAME=Fedora
VERSION="32 (Thirty Two)"
ID=fedora
VERSION_ID=32
VERSION_CODENAME=""
PLATFORM_ID="platform:f32"
PRETTY_NAME="Fedora 32 (Thirty Two)"
ANSI_COLOR="0;34"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:32"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=32
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=32
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"

-


日本語入力の設定

Fedora 32 をインストールしただけで、「日本語(かな漢字)」(ibus-kkc) が有効で、日本語入力できます。 変換効率はイマイチみたいですが、Fedora だと標準インストールされているので、慣れていた方がお得かな。

ibus はIM オン/オフと、日本語オン/オフの2段の切り替えになるので、少し面倒です。 テキストエディタを起動。Windows + space してから、「半角/全角」キーを押すと、日本語入力できます。 あとは、「半角/全角」キーで日本語オン/オフが切り替わります。

デフォルトの操作:

- 入力メソッド(IM) のオン/オフは、Windows + space

- 日本語オン/オフは、「半角/全角」キーのトグル

- ひらがな入力は、「ひらがな」キー

- カタカナ入力は、「ひらがな」キーのトグル

- 英数入力は、「英数」キー、ただし大文字/小文字のトグル(また、Enter で確定が必要)

-

これだと、画面右上の「あ」のインジケータを見ないと、現在の入力モードがわかりません。 入力効率が良くないので、「あ」を見なくても日本語が入力できるようにキーの割当を変更しました。

-


キーの割当を変更

右上の「あ」をクリック →Preferences →「ショートカット」タブ

1. ひらがな:

「カタカナ入力モードに変更  Hiragana katakana」を削除

「元の候補  Muhenkan」を削除

2. カタカナ:

「元の候補  Muhenkan」を削除

3. 半角カタカナ:

「元の候補  Muhenkan」を削除

4. 英数:

「元の候補  Muhenkan」を削除

5. 全角英数:

「元の候補  Muhenkan」を削除

6. ひらがな:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

7. カタカナ:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

8. 半角カタカナ:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

9. 英数:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

10. 全角英数:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

11. 直接入力:

「英数入力モードに変更」を追加

「英数入力モードに変更  無効」をクリック →「無変換」キー
↓
「英数入力モードに変更  Muhenkan」

12. ログアウト →ログイン

-

→これで、画面右上の「あ」のインジケータを見なくて入力できます。

- 入力メソッドのオン/オフ: Windows + space

- (日本語オン): 「ひらがな」キー を押してから入力

- (日本語オフ): 「無変換」キーを押してから入力(Enter で確定が必要)


- (日本語オン/オフ): 「半角/全角」キーのトグル

- (英数 大文字/小文字): 「英数」キーのトグル(Enter で確定が必要)

→「端末」アプリを使う時は注意です。 Windows + space 、または、「半角/全角」キーで英数入力にすると、Enter での確定が要りません。

-


現在の入力メソッド関連のパッケージを確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64                       1.5.22-7.fc32                    @updates
ibus-gtk3.x86_64                       1.5.22-7.fc32                    @updates
ibus-kkc.x86_64                        1.5.22-13.fc32                   @fedora 
ibus-libs.x86_64                       1.5.22-7.fc32                    @updates
ibus-setup.noarch                      1.5.22-7.fc32                    @updates

-


日本語入力の「ibus-kkc」であまりに誤変換が多いので「ibus-mozc」に変更:

デフォルトの「日本語(かな漢字)」(ibus-kkc) は、見当違いの候補が毎回表示され、入力効率が悪すぎ。 続けて使うのは断念。「ibus-mozc」に変更しました。

ibus-mozc のインストール:

$ sudo dnf install ibus-mozc
:
インストール済み:
  ibus-mozc-2.23.2815.102-9.fc32.x86_64
  mozc-2.23.2815.102-9.fc32.x86_64
  protobuf-3.11.2-2.fc32.x86_64
  xemacs-filesystem-21.5.34-35.20190323hgc0ed7ef9a5a1.fc32.noarch
  zinnia-0.06-47.fc32.x86_64
  zinnia-tomoe-ja-0.06-47.fc32.x86_64

ログアウト→ログイン

-

入力メソッドの切り替え:

Windows + A」→設定 →「地域と言語」タブ →入力ソース

- 日本語

- 日本語(かな漢字)

↓ 変更(削除して追加)

- 日本語

- 日本語 (Mozc)

ログアウト →ログイン

-

テキストエディタにて、「Windows + スペース」→「Mozc」に切り替え。

あとは、「半角/全角」キーで日本語オン/オフできます。

-

日本語オン/オフ を別々のキーに割当て:

パネルの「あ」アイコンをクリック →ツール →プロパティ →「Mozc プロパティ」画面→「一般」タブ→「初期値に戻す」 →OK

→キー設定の選択: →「カスタム」を選んで右の「編集」をクリック。

→「Mozc キー設定」画面(ウィンドウは広げると作業しやすいです)

左下の「編集」→「定義済みのキーマップからインポート」→「MS-IME」→OK

- 「ひらがな」キーで「IME オン」→日本語

-  「無変換」キーで「IME オフ」→英語

となるように、キーの割当てを変えました。

(mozc は入力メソッドのオン、オフを割当てできるのが利点です)

→日本語入力できました。誤変換は前よりも少なくなりました。

-

  • ただし、使うアプリを変えたときに、時々、日本語入力できなくなるときがあります。

→「Windows + スペース」を2回ほど押して、入力メソッドをオン/オフすると日本語入力できるように復活します。(ibus-kkc でも同じ現象が発生)

-


使わないパッケージを削除:

$ sudo dnf remove ibus-kkc
:
削除しました:
  ibus-kkc-1.5.22-13.fc32.x86_64
  langpacks-ja-3.0-3.fc32.noarch
  langpacks-core-ja-3.0-3.fc32.noarch

→別のパッケージを入れたときに、ibus-kkc は復活したりします。その都度削除。放おっておいても OK

-

現在の入力メソッド関連のパッケージを確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64               1.5.22-7.fc32                    @updates
ibus-gtk3.x86_64               1.5.22-7.fc32                    @updates
ibus-libs.x86_64               1.5.22-7.fc32                    @updates
ibus-mozc.x86_64               2.23.2815.102-9.fc32             @fedora
ibus-setup.noarch              1.5.22-7.fc32                    @updates

-

$ dnf list *mozc*
:
インストール済みパッケージ
ibus-mozc.x86_64                  2.23.2815.102-9.fc32                   @fedora
mozc.x86_64                       2.23.2815.102-9.fc32                   @fedora

-


GNOME 端末」の起動時のウィンドウサイズを設定:

横幅がせまくて、縦が長い方が、投稿に利用するには使いやすいです。 広く使いたいときは、画面の右端もしくは上端にでもぶつければ OK

右上の横三棒→設定→「名前なし」タブ→「文字」タブ→文字の外観

起動時の端末サイズ: 80 列  24 列
↓
起動時の端末サイズ: 80 列  52 列

-


「gedit」で挿入する時刻のフォーマットを設定:

設定 →プラグイン →日付/時刻の挿入

その他: %Y-%m-%d %H:%M

結果:

2020-07-15 01:05

ちなみに、pluma での設定も同じやり方です。

-


「pluma」のインストール

Mate デスクトップ環境の標準テキストエディタ。ほぼgedit と同じ機能、昔からのメニューバー表示。軽いのでメイン使用できそう。gedit と同じテーマファイルが使えます。テーマファイルの置き場所は自由。

$ sudo dnf install pluma

$ pluma --version
pluma - Version 1.24.0

→日本語入力できます。

-


「kolourpaint」のインストール

個人的によく使う画像加工処理ソフトです。画像を右クリックして起動することが多いです。

$ sudo dnf install kolourpaint

→こちらもQt アプリ。日本語入力できません。依存でたくさんのパッケージが入りました。 日本語入力できなくても、支障ありません。

-


「qpdfview」のインストール

個人的によく使うPDF ビュワーです。 表紙付きの見開きで、読む方向を指定できるのが利点。この機能があるビュワーは少ないです。

$ sudo dnf install qpdfview

→こちらもQt アプリ。メニューは日本語化されていません。 こちらの場合は、メニューは日本語化したほうが使いやすいです。

日本語化は こちら

-


自分の python 使用環境を確認:

$ python --version
Python 3.8.3

$ python
Python 3.8.3 (default, May 29 2020, 00:00:00) 
[GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

→exit() または、Ctrl+D で終了

端末にて、python の動作を確認:

インタプリタ形式で実行ができます。

$ python3
Python 3.8.3 (default, May 29 2020, 00:00:00) 
[GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

>>> print("Hello World")
Hello World

>>> exit() 
$

python は、python3 のリンクです。

-


「mu」エディタを使ってみます

組み込み機器とかゲーム機のプログラム開発やロードができます。通常のPython の開発にも使えます。

起動すると「モード」の選択画面が表示 →一番下の「Python 3」を選択 →OK

専用のフォルダが自動で作られます。

エディタが使えるようになるので、いつものサンプルを入力

# ここにコードを書いてね :-)
print("Hello World")

→「保存」ボタン→「mu_code」フォルダ→「hello.py」→Save

「実行」ボタン→画面下のエリアに下記が表示(実行されます)

実行中: hello.py

Hello World
>>> 

「停止」ボタン→画面下のエリアが閉じます。

「終了」ボタン

-


「thonny」エディタを使ってみます

こちらはpython の構文エラーを指摘してくれます。

→7行目に入力漏れ( " で閉じてません )があることがわかります。

-


Visual Studio Code のインストール

人気の「VSCode」をインストールしてみました。

Visual Studio Code(略して VSCode )は、マイクロソフトが開発したオープンソース(MITライセンスでライセンス)のテキストエディタです。IDEの機能(統合デバッガー、コード補完、リンティングなど)もあります。独自のEULA の下でライセンスされています。

公式ビルドには追加の機能があり、VSCode マーケットプレイスから拡張機能ギャラリーを介して拡張機能をインストールできます。

-

Windows キー→「Visual Studio Code」で検索→ブラウザで下記のサイトが表示されます。

Fedora wiki: Visual Studio Code

参考:

公式のインストール手順

1. Fedora にて、キーとリポジトリを追加:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

2. パッケージキャッシュを更新、dnf でパッケージをインストール:

$ sudo dnf check-update
Visual Studio Code             2.3 MB/s | 4.9 MB     00:02

$ sudo dnf install code
:
インストール済み:
  code-1.47.1-1594686424.el7.x86_64

-

3. Visual Studio Code の日本語化:

参考:

Visual Studio Codeを日本語化する「一番良い」方法は?【 全OS共通 】【 2020年最新版 】

1. Visual Studio Codeを起動

2. メニューの「View → Command Palete...」を開きます。

3. 「Configure Display Language」をクリック

4. 「Install additional languages...」をクリック

5. 左側に言語のリストが表示されます。「日本語」を探してクリックし、右の「Install」をクリック

6. 右下にリスタートを促すメッセージが表示されます。「Restart Now」をクリック

7. アプリが再起動され、日本語で表示されます。

8. 最初なので「ようこそ」タブが開かれています。

-

4. 「Python 拡張機能」のインストール:

事前に「Mu エディタ」で作成したプログラムが役に立ちます。

-

ファイル→ファイルを開く→「~/mu_code/hello.py」→開く

新しいタブでファイルが開かれます→画面右下に下記が表示されます。

このファイル種類には、'Python' 拡張機能をお勧めします。

→「インストール」をクリック

Python拡張機能がインストールされます。

左上の「エクスプローラー」アイコン→hello.py →先ほどの編集画面が開きます。

もう一度「エクスプローラー」アイコンを押すと広くなります。

-

5. Python の実行

「実行」→「デバッグなしで実行」→画面下のエリアに「ターミナル」タブ表示

[ubn@localhost mu_code]$  env /usr/bin/python /home/ubn/.vscode/extensions/ms-python.python-2020.7.94776/pythonFiles/lib/python/debugpy/launcher 36691 -- /home/ubn/mu_code/hello.py 
Hello World
[ubn@localhost mu_code]$ 

→プロンプトが少しうるさく(ユーザ名やコンピュータ名は要らないかな)感じます。また、プログラムの「実行」に長々としたコマンドが発行されているのにびっくり。素のものなので、たぶん、端末上でも同じ結果が再現できそう。

「ターミナル」タブの右上の「x」で閉じます。

-

6. 通常のエディタとしても優秀です

→以前の(まだ、全体の map 表示ができたころの)gedit みたいな雰囲気。ファイルを開くのは、gedit よりも速いです。軽いので日常的にMarkdown を書くのに良さそう。起動時にタブ表示を再現できるので、geany や notepadqq の代わりに使えそう。IDE 関連のアプリにはそういう機能があるみたい。

-


Fedora 32 をしばらく使っていて、気付いたこと

-

「Wayland」だと、Qt アプリで日本語入力できません

Qt アプリ(featherpad、notepadqq、kolourpaint など)で日本語オン/オフできず、強制的に日本語オンしても日本語入力できません。

ちなみに、geany アプリも日本語入力できません。ただし、こちらは候補窓が表示して点滅。入力できません。

→ログイン画面にて、Xorg (X11) で動く「Gnome クラシック」、「Gnome Xorg」セッションを選ぶと回避できます。

-

GNOME のWayland セッションでのみ、Qt アプリに問題が発生することが報告されてます

Bug 1732129 - Qt Wayland By Default On Gnome を参照:

この問題は、KDE プラズマ Wayland や Xorg 環境では発生しません。 他のデスクトップ環境はWayland セッションでネイティブに実行できています。

Qt ではGNOME のみが除外されています。Qt Waylandは、Gnome Adwaita テーマと実際には一致しない基本的な装飾を実装しており、QtアプリケーションをWayland でネイティブに実行するには、特に「qt5-qtbase」モジュールを変更する必要があります。つまり、GNOME のみで問題が発生しています。

→問題報告されてますが、解決はまだみたい。

端末でアプリのバージョンを確認すると、これに関する警告のメッセージが表示されます。

$ kolourpaint --version
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
kolourpaint 19.12.2

-


カーネルが 5.7 に更新されたら、Xorg (X11) で、すべてのアプリが起動できません

2020年07月04日 のシステム更新で、カーネルの更新がありました。

$ uname -r
5.7.6-201.fc32.x86_64

ただし、この更新は、個人的には 致命的 でした。

軽いのでよく使っていた「Gnome クラシック」や「Gnome on Xorg」セッションで、「端末」を含めたすべて?のアプリが正常に起動できなくなりました。「Sugar」セッションは正常に動きます。

-

アプリのウィンドウ画面が真っ暗だったり点滅とかして、アプリの終了ができません。 Ctrl+Alt+F1 とすると、GUI のログイン画面が表示され、「再起動」で「他のユーザーがログインしています」と警告あり。そのまま「再起動」で抜けました。

Xorg のセッションだけがおかしいのではなく、「Gnome」のセッションでも追加インストールした「pluma」や「qpdfview」の起動ができません。

回避策:

立ち上げ時に、一番古いカーネルを選択すると回避できます:

Fedora (5.7.7-200.fc32.x86_64)   →不調(2020-07-06 の更新)
Fedora (5.7.6-201.fc32.x86_64)   →不調(2020-07-04 の更新)
Fedora (5.6.6-300.fc32.x86_64)   →(インストール時のバージョン)動作 OK 

→起ち上げ時、および再起動時に、毎回、選択してやる必要があります。

-


OS アップデートで、起動メニューの回避策の(5.6.6) の項目がなくなりました

2020-07-14 現在

次のOS アップデートがあり、上記が改善されないだけでなく、回避策の(5.6.6) の項目が消えました。 「メニューの保持は3つまで」みたい。使えるバージョンは残しておきたかった。最悪。

Fedora (5.7.8-200.fc32.x86_64)   →不調 (2020-07-14 の更新)
Fedora (5.7.7-200.fc32.x86_64)   →不調 (2020-07-06 の更新)
Fedora (5.7.6-201.fc32.x86_64)   →不調 (2020-07-04 の更新)

→回避できなくなり、標準アプリしか使えません。追加したアプリを起動してしまうとシステムを再起動しないと解除できません。また、ブラウザを使っていても、固まるときがありました。

ちなみに、Xorg セッションは端末アプリも起動しないので、まったく使えません。最悪の状態。

-

再インストールし直しました

いつ良くなるのかわからないので、再インストールし直しました。更新の頻度が多いので、下記のように、(5.6.6) でOS アップデートを停止する設定にしました。

-


Fedora での運用法を検討:

Fedora 32 にて、OS バージョンの5.7 (およびWayland )は問題があります。 「最新のカーネルを使うリスク」を再認識しました。

数回の更新がありましたが改善されません。いつ改善されるか不明。 環境によるのかもしれませんが、使いたいアプリが使えなければ、最新のFedora 32 にしても何にもなりません。

-

1. 立ち上げ時のメニューの保持数を増やしました:

参考:

Fedora に保存されているkernelの世代数設定を変更

デフォルトでは3世代を保存。何度か続けて不具合があるバージョンに当たると、ちゃんと動くバージョンが削除されます。今回のように短い期間に更新が多いと危険。数を増やすとディスク容量を消費します。

$ sudo nano /etc/dnf/dnf.conf

修正:

installonly_limit=3

↓ 数字を増やします:

installonly_limit=10

→これだけあれば安心。メニューの増え方が異常に多いようなら、次の項目のように停止して様子見。 大事なのは、ちゃんと動くときのメニューを消されないようにすること。

-

2. 「Fedora 32」をインストールしたら、更新せずにすぐにOSのバージョンを上げない設定にします

$ sudo nano /etc/dnf/dnf.conf

下記の行を追加:

exclude=kernel*

再起動

→更新して確認すると、OS バージョンは「5.6.6-300」のままで、機能しています。 ちなみに、Manjaro GNOME の最新(2020-07-14 時点) のカーネルは、5.6.16 です。 5.6.x の後半のバージョンが欲しいところ。

-

3. 「Fedora 31」を使う

→OS バージョンが落とせます。でも、更新が5.7 に上がるのかは未確認。

-

4. 「CentOS-8.2.2004」を使う

CentOS としては最新(2020-06-09 公開) です。Fedora で試してもらい、安定した結果のみを反映したRHEL のソースをビルドし直したものなので、安定しています。カーネル 4.18.0-193 と古くなります。

サーバーとしてだけでなく、GNOME デスクトップ環境をインストールできるようです。試してみたい環境。

-

5. 「Manjaro GNOME」を使う

Fedora ではありませんが、同じGNOME です。個人的にはこちらがオススメ。個人で使うには自由に何でも入れられて便利ですし、同じGNOME なのに軽いです。

業務で使うには未サポートのアプリをガンガン入れてしまう人もいるかもしれないので、セキュリティ面で問題があるかも。

-


参考: 立ち上げ時の、grub のメニュー

参考:

fedora 30からgrubの仕様が変わった

カーネルの置き場所:
$ ls /boot/

System.map-5.6.6-300.fc32.x86_64
config-5.6.6-300.fc32.x86_64
efi
elf-memtest86+-5.01
extlinux
grub2
initramfs-0-rescue-cf6154bd29f74ee8be5b6acca8114a96.img
initramfs-5.6.6-300.fc32.x86_64.img
loader
memtest86+-5.01
vmlinuz-0-rescue-cf6154bd29f74ee8be5b6acca8114a96
vmlinuz-5.6.6-300.fc32.x86_64
grub のメニューへの登録:
$ sudo ls /boot/loader/entries/

cf6154bd29f74ee8be5b6acca8114a96-0-rescue.conf
cf6154bd29f74ee8be5b6acca8114a96-5.6.6-300.fc32.x86_64.conf

→boot 時のgrub の画面にて、メニューのエントリーの書き方が以前とは変わりました。 /boot/loader/entries/ に各エントリーの設定ファイルを置けば、ブート時のメニューに追加され、消せばメニューから消えます。

grub の設定を確認:
$ sudo grubby --info=ALL

index=0
kernel="/boot/vmlinuz-5.6.6-300.fc32.x86_64"
args="ro rhgb quiet"
root="UUID=f8b7d62b-f6be-4e98-a9d9-9516a6a3a82d"
initrd="/boot/initramfs-5.6.6-300.fc32.x86_64.img"
title="Fedora (5.6.6-300.fc32.x86_64) 32 (Thirty Two)"
id="cf6154bd29f74ee8be5b6acca8114a96-5.6.6-300.fc32.x86_64"

index=1
kernel="/vmlinuz-0-rescue-cf6154bd29f74ee8be5b6acca8114a96"
args="ro rhgb quiet"
root="UUID=f8b7d62b-f6be-4e98-a9d9-9516a6a3a82d"
initrd="/initramfs-0-rescue-cf6154bd29f74ee8be5b6acca8114a96.img"
title="Fedora (0-rescue-cf6154bd29f74ee8be5b6acca8114a96) 32 (Thirty Two)"
id="cf6154bd29f74ee8be5b6acca8114a96-0-rescue"

→エントリのindex 番号は、0 から始まります。index=0、index=1

grub のメニュー画面:
Fedora (5.6.6-300.fc32.x86_64) 32 (Thirty Two)
Fedora (0-rescue-cf6154bd29f74ee8be5b6acca8114a96) 32 (Thirty Two)


   Use the  and  keys to change the selection.
   Press 'e' to edit the selected item, or 'c' for a command prompt.
The selected entry will be started automatically in 3s.

→3 秒後にデフォルト(index=0)が選ばれます。

-


Fedora Python Classroom」Lab でインストールされるパッケージ:

dnf では、グループとして準備されたパッケージをインストールできる機能があります

パッケージの組み合わせを考えなくてよいので便利です。 今回のディストリビューションは、この機能が使われているみたい。

$ cat /etc/fedora-release
Fedora release 32 (Thirty Two)

$ dnf group list
:
インストール済みのグループ:
   Container Management
   Python Classroom
   Python Science

→3つのグループのパッケージがインストールされていました。

-

$ dnf group info 'Container Management'
:
グループ: Container Management
 説明: Tools for managing Linux containers
 標準パッケージ:
   podman
 オプション パッケージ:
   atomic
   buildah
   cockpit-docker
   docker
   flatpak
   flatpak-builder
   origin-clients

→「オプション パッケージ」は含まれていませんでした。

-

$ dnf group info 'Python Classroom'
:
グループ: Python Classroom
 説明: Tools used to teach and learn Python.
 標準パッケージ:
   bash-completion
   bzip2
   curl
   gcc
   gcc-c++
   git
   grep
   less
   libxml2-devel
   libyaml-devel
   make
   pipenv
   pypy3-devel
   python3-devel
   python3-docs
   python3-idle
   python3-ipykernel
   python3-ipython
   python3-notebook
   python3-tox
   python3-virtualenv
   sed
   tar
   unzip
   valgrind
 オプション パッケージ:
   emacs
   nano
   openssh-clients
   vim-enhanced
   wget
 条件付きパッケージ:
   mu
   thonny

→「オプション パッケージ」、「条件付きパッケージ」ともに含まれていました。

-

$ dnf group info 'Python Science'
:
グループ: Python Science
 説明: Tools used to do science in Python.
 標準パッケージ:
   python3-matplotlib
   python3-notebook
   python3-numpy
   python3-pandas
   python3-pillow
   python3-scikit-image
   python3-scikit-learn
   python3-scipy
   python3-statsmodels
   python3-sympy
 条件付きパッケージ:
   python3-matplotlib-tk
   python3-pillow-tk

→「条件付きパッケージ」も含まれていました。

-


Fedora Python Classroom」Lab で注目のアプリ:

参考:

Multiple Pythons

→SciPy を含むPython で科学を学び、教えるために必要なすべて

  • IPython

→強化されたインタラクティブPython シェル

  • Jupyter Notebook

インタラクティブなコンピューティングと視覚化のためのWeb ベースのノートブック環境

  • git

→人気のバージョン管理システム

  • tox

→virtualenv 管理およびテストコマンドラインツール。 Tox は、複数のPythonPython コードをテストするのに役立つツールです。

  • virtual environments

→分離されたPython環境を作成。 Python 仮想環境(virtualenvs)を使用できます。

  • Mu editor

→初心者プログラマーのためのシンプルなPython エディタ

Python の統合開発および学習環境

-


Fedora Python Classroom」Lab で選べる3つの使用環境:

PYTHIN CLASSROOM LABS

Pythonプログラミング言語を学生に教えるための教室ラボ

Python 開発者にとってのFedora の利点の1つは、Python 開発のセットアップが容易なことです。

-


1. GNOME のグラフィカルモードで実行する場合

Python Classroom ラボ は、ライブ イメージとして出荷されます。 試して気に入った場合は、Fedora をライブから直接ハードドライブにインストールできます。

GNOME ライブイメージをダウンロード:

Download Fedora 32 Python Classroom

→今回の場合で、ダウンロード後に、ライブイメージで立ち上げて、USB メモリにインストールしました。

-


2. Docker コンテナで実行する場合

Docker の詳細

Docker イメージを取得して実行する:

$ sudo docker pull candidate-registry.fedoraproject.org/f32/python-classroom 
$ sudo docker run -ti candidate-registry.fedoraproject.org/f32/python-classroom

-


3. Vagrant で仮想化する場合

Vagrant の詳細

Vagrant は、単一のワークフローで仮想マシン環境を構築および管理するためのツールです。 Vagrant は、開発環境のセットアップ時間を短縮します。

-

$ vagrant --version
bash: vagrant: コマンドが見つかりませんでした...

コマンド vagrant' を提供するためにパッケージ 'vagrant' をインストールしますか? [N/y] 
  • Box(Vagrant用のOSイメージのテンプレート)を検索 :

→下記のBox はヒットしないので、もしかしたら、直接ダウンロードが必要かもしれません。

-

libvirt を使う場合:

libvirt は、仮想化管理用の共通APIを提供する、レッドハットを中心としたオープンソースプロジェクトです。

$ vagrant box add fedora/32-python-classroom ./Fedora-Python-Classroom-Vagrant-32-1.6.x86_64.vagrant-libvirt.box  
$ vagrant init fedora/32-python-classroom 
$ vagrant up --provider libvirt 
$ vagrant ssh
  • Box を直接ダウンロードする場合:

Libvirt 881MB Vagrant image

-

VirtualBox を使う場合:

VirtualBox では、バージョン4.0 より、Extension Package と呼ばれる機能拡張プラグインが導入されました。これは、4.0 よりVirtualBox本体がGPLライセンスとなり、プロプライエタリ・ソフトウェアによる機能を標準で実装できなくなったためです。

$ vagrant box add fedora/32-python-classroom ./Fedora-Python-Classroom-Vagrant-32-1.6.x86_64.vagrant-virtualbox.box 
$ vagrant init fedora/32-python-classroom 
$ vagrant up --provider virtualbox 
$ vagrant ssh
  • Box を直接ダウンロードする場合:

VirtualBox 923MB Vagrant image

-


まとめ

Python Classroom」Lab の良いところは、「普通にFedora 32 をインストールするよりもインストールされるパッケージ数を抑えられる」ことだと思います。Python 関連のエディタは多いのですが、その他のアプリはあまり入っていません。あとは好みのアプリを追加していくだけ。

そして、Python 開発のセットアップが容易です。いろいろなセットアップのやり方が提供され、先々で必要になるやり方に触れられます。(group install、VagrantlibvirtVirtualBox、Docker、 …)

また、Python 開発でよく使うエディタもいくらかインストールされており、試すことで自分に合ったものが選べます。

-

Fedora では、新しいハードウェアに対応できるように、常にカーネルは最新です。ただ新しすぎる(実績が少ない)ことで問題になりやすいので、安全に付き合う方法を考えておく必要があります。

このあたりは使ってみないと、わからないことだったと思います。 どちらにしても、運用のやり方を考えておけば、新しいことを学びたいとき、Fedora は良い環境になります。

-

-


目次

先頭

-


-

Fedora 32 にて、Sugar デスクトップ環境をインストール〈H75〉

登録日: 2020-06-30 更新日: 2020-06-30

前回は、Fedora 32 SPINS「Sugar-on-a-Stick」のイメージを使いライブUSB メモリを作成 しました。USB メモリひとつで運用できるので便利です。

今回は、USBメモリにインストールした「Fedora Workstation 32」 に、「Sugar デスクトップ環境」をインストールしてみました。

すでに日本語化され日本語入力(ibus-mozc) できる環境にインストールするので、どうなるのか楽しみです。

-

「目次」

-


Sugar について

パソコンでの学習環境を提供するもので、Python で記述された「Sugar」と呼ばれる独自のグラフィカルなデスクトップ環境です。そのもとで「アクティビティ」と呼ばれるアプリケーション群が動作します。

「Sugar」はメッシュネットワーク を介した共同制作を前提に設計されていて、複数の子供が同一の「アクティビティ」に参加して、共同で作品を作り上げることができます。

-


Sugar 関連のリンク

1. Sugar 環境の開発と配布を行うコミュニティ: Sugar Labs

-

2. Sugar のドキュメント: Welcome to Sugar’s documentation!

→Sugar だけでなく、アプリ(アクティビティ)の説明があります。アクティビティは共同制作を前提としたアプリです。

-

3. Sugar のワープロである「Write」の使い方: Write

ワープロで、文章を簡単に書いたり、画像の挿入、テーブルの作成、レイアウト操作などのツールがあります。Sugar のメインとなるアプリです。共同制作のやり方が紹介されているので、使い方の勉強になります。

-

4. Sugar のPython プログラム開発環境である「Pippy」の使い方: Pippy

Python プログラムの開発環境で、本格的にPython プログラミングを学べます。

例えば、「/home/olpc/Activities/Pippy.activity/data」に(小さな)プログラムファイルを追加すると、それらをPippy の左側の列に表示できます。

-

5. Pippy の例題集(プログラム例): help support olpc - Pippy

→Pippy は、Sugar を介して近隣の他のユーザーと(つまりネットワーク経由で)共有できます。

共有のやり方のひとつは、Pippy アクティビティを終了した後に、「ジャーナル」を使い、Pippy の代わりに「Write」でそのアクティビティを再開します。「Write」アクティビティの共有を使用して、プレーンテキストを他のユーザーと共有します。

-


Fedora 32 に、Sugar デスクトップ環境をインストール:

-


1. Fedora 32 (GNOME) をインストール

GNOME は重いので、高速なUSB メモリにFedora をインストール しました。

-


2. Fedora 32 で日本語入力の設定 (ibus-mozc)

すぐに「日本語(かな漢字)」(ibus-kkc) が使える状態ですが、学習しないので、いつも使っている「日本語(Mozc)」(ibus-mozc) に変更しました。fcitx-mozc はFedora 32 では動作が安定しないのでパス。

Windows」+space で「あ」にして、「半角/全角」キーで日本語オン/オフの切り替えができます。

-

ibus-mozc のインストール:

$ sudo dnf install ibus-mozc

ログアウト→ログイン

-


入力メソッドの切り替え:

Windows + A」→設定 →「地域と言語」タブ →入力ソース

- 日本語

- 日本語(かな漢字)

↓ 変更:

- 日本語

- 日本語 (Mozc)

ログアウト →ログイン

テキストエディタにて、「Windows + スペース」→「Mozc」に切り替え。

あとは、「半角/全角」キーで日本語オン/オフできます。日本語入力できました。

-

パネルの「あ」アイコンをクリック→ツール→プロパティ→「Mozc プロパティ」→キー設定の選択→「カスタム」を選んで「編集」

→「ひらがな」で日本語オン、 「無変換」で日本語オフ、のキー割当てを追加。

時々、使うアプリを変えたときに、日本語オン/オフできなくなることがありますが、そのときは「Windows + スペース」→「Mozc」に切り替えることで、日本語オン/オフできるようになります。

-


3. Sugar デスクトップ環境 の検索

  • dnf では、パッケージグループでのインストールができます。

パッケージグループ名を検索:

日本語表示と英語表示を選べます。

$ dnf group list sugar*
:
利用可能な環境グループ:
   Sugar デスクトップ環境

または、

$ LANG=C dnf group list sugar*
:
Available Environment Groups:
   Sugar Desktop Environment

詳細表示:

$ dnf group info "Sugar デスクトップ環境"

または、

$ dnf group info 'Sugar Desktop Environment'

または、

$ dnf group info Sugar-Desktop

→group info でgroup install 時のパラメータに使えるかを確認しました。省略形も使えますが、一覧表示が欲しいところ。

4. Sugar デスクトップ環境をインストール:

参考:

GitHub sugarlabs/sugar

→インストールの手順を見ると、Wayland では動かないということみたい。

-

ログインで「Sugar」を選ぶ運用の場合:

インストール:

$ sudo dnf group install "Sugar デスクトップ環境"

→漢字で半角スペースも含まれるので、リストから貼り付けたほうが安全です。

-

再起動

ログイン画面

Enter キーを押して、パスワード入力画面にします。

右下のアイコンにて、「Sugar」を選択

パスワード入力して、ログイン。

-

参考: ログインで「GNOME Xorg」または「GNOME クラシック」を選ぶ運用の場合:

GNOME Xorg」または「GNOME クラシック」(つまり、Wayland でなく、 Xorg )を選択してログインします。

インストール:

$ sudo dnf group install "Sugar デスクトップ環境"
$ sudo dnf install sugar-runner

→エラー: 一致するものが見つかりません: sugar-runner

Fedora 32 のリポジトリに「sugar-runner」はありませんでした。このやり方は、Fedora 32 以外の他のディストリビューションのときに使うのだろうと思います。なので、下記の起動の動作は未確認。

「Sugar」を起動:

$ sugar-runner

→「Sugar」が起動します。 「Sugar」からログアウトすると、以前使用していたデスクトップ環境に戻ります。

GNOME Xorg」の場合、GNOMEの(アプリ)検索からも「Sugar」は利用できます。

-


5. Sugar の初期設定

1. 画面中央にアバター(人形アイコン)が表示されます。

2. アバター(人形アイコン)をクリックしてアバターの色を変更。

→進む

3. 学年を指定します。

Select grade: 「Adult」を選択

→完了

4. アバター(人形アイコン)を中心にして、アプリのアイコンがサークル状に並んでいます。

→この画面が、「Home ビュー」(F3 キー)です。

5. アバター(人形アイコン)にマウスを置いてしばらくする(または長押しする)と、ダイアログが開きます。 →「私の設定」を選択→設定画面が開きます。

  • 「私について」: 男 / 女の選択がされていないので選択 →右上の「チェック」アイコンをクリック

  • 「私のコンピュータについて」:

  ソフトウェア

    ビルド: Fedora release 32 (Thirty Two)

    Sugar: 0.116

  • 「背景」:

→Sugar のデフォルトの水色の壁紙だけでなく、Fedora の壁紙も表示されています。

背景の濃さが5つの中から選択できます。(壁紙なしは設定できないみたい)→右から2つ目にしました。

  • 「言語」:

→タイトルは表示されますが無効です。設定画面は開きません。

今回の場合はすでに日本語設定されているので、この画面は必要ありませんが、ライブUSB メモリで使う「Sugar-on-a-Stick」の場合は表示がないため、手動で日本語化する必要があります。

-


6. 「端末」をお気に入りに登録

ホーム画面にて、画面右上の「横四本」アイコンをクリックして、「すべてのアプリを表示」して、 「Terminal」アクティビティに星印を付けて、ホームで表示されるようにします。「Terminal」(端末)を起動します。

→全画面で端末が開きます。

  • 右上の「停止」をクリックするか、F3 キーを押すと、ホーム画面(Home ビュー)に戻れます。

  • 「シャットダウン」や「再起動」は、サークルの中心にあるアバターにマウスカーソルを持っていく(もしくは長押しする)と、選択メニューが開きます。

-


7. Sugar で日本語表示されるかの確認:

初期設定画面から、日本語で表示されています。

-


8. Sugar で日本語入力できるか「nano」で確認:

Terminal (端末)を起動してから、タブの右にある「+」でさらに端末画面を増やし、そこで「nano」を起動。

$ nano memo.md

→ファイル名を指定していると保存時が楽です。ファイルはホーム配下(~/memo.md) に作られます。

端末の出力メッセージは、Ctrl+Shift+C や範囲選択してのマウスの中央ボタンで「nano」に貼り付けできます。

-

→日本語入力できません。 Windows + スペースで、日本語入力メソッドの切り替えができません。

-

  • 端末で、「gedit」や「pluma」を起動して、日本語入力できるかも確認。

→日本語入力できません。

  • Sugar のログインで「入力メソッドが起動されていない」と思われます。Sugar での設定が必要です。

-


参考: 「nano」の使い方

マウスの範囲選択や位置指定はできるように見えて効きません。矢印キーを押して運んで行っての位置指定が必要です。 また、キーの割当ても、ガイド表示がなければ使えないくらい独特です。

Alt+6 : コピー

Ctrl+K : 切り取り

Ctrl-U : 貼り付け

端末でのコピー: Ctrl+Shift+C

端末からの貼り付け: Ctrl+Shift+V

マウスの中央ボタン: 貼り付け

やり直し: Alt+U

上書き保存: Ctrl+O

終了: Ctrl+X

-

  • 「nano」ではなく、「vim」(vi) を使ったほうがLinux の勉強にはなりそう。

  • 「gedit」とか、「pluma」が使えます。(起動は端末から)

「pluma」はインストールが必要:

$ sudo dnf install pluma

これらのアプリは全画面でなく、通常のウィンドウで起動されます。 タイトルバーをつかんで画面の左右にぶつけると、ウィンドウが画面半分のサイズで左右にタイリング表示されます。

端末等のアクティビィは全画面表示なので、すぐにウィンドウが隠されますが、「マウスを右上隅に持って行ってフレームを表示、そのまま左の起動アプリの「gedit」や「pluma」のアイコンをクリック」すれば、ウィンドウが現れます。慣れると素早く切り替えできます。

-


参考: 「ファイルマネージャ」も使えます

「pluma」と同じように「ファイルマネージャ」も端末から利用できます。端末画面を増やしてから起動させます。

$ nautilus

システムファイルをさわるとき:

$ sudo nautilus

-


9. 入力メソッドの設定ファイルの不具合を修正:

参考:

SoaS (Sugar on a Stick) V2 Blueberry を日本語で使う方法  ←(一部リンク切れ)

リンク切れするくらい、だいぶ以前の情報ですが、Sugar の設定ファイルの不具合は、今も残っています。

$ sudo nano /etc/X11/xinit/xinitrc.d/50-xinput.sh

下記の行を編集:

SYS_XINPUTRC="/etc/X11/xinit//xinputrc"

↓ 修正:

SYS_XINPUTRC="/etc/X11/xinit/xinputrc"

再起動

-


入力メソッドの選択:

$ im-chooser

IBus を使用する(推奨)」を選択後、「設定…」をクリック→「IBus の設定」画面→「入力メソッド」タブ

日本語 - Mozc

日本語 - 日本語

→上記の表示になるように設定します。

-


設定の追記(新規作成):

$ sudo nano /etc/X11/xinit/xinitrc.d/40-sugar-imsettings.sh

↓ 下記を記述:

export IMSETTINGS_INTEGRATE_DESKTOP=no

再起動

-


日本語入力できるかの確認:

入力メソッドの切り替えは、「Windows + スペース」ですが、そのコツは、Windows キーを押し放しにして、スペースキーをちょんちょんと押すことです。Mozc になったら、「半角/全角」キーを押します。

-


「Write」アクティビティで日本語入力

「Write」は共同制作の要(かなめ)になるアプリです。また、ドキュメントをRTF、TXT、HTML で保存できます。 「AbiWord」アプリがベースのようです。

→日本語入力できるようになりましたが、日本語では問題が多いのでメインで使うのは難しいと思います。

  • Windows + スペース」でMozc を選んでから、「半角/全角」キーで日本語オン/オフできます。

  • 日本語の候補窓の位置が左下に固定されて見づらいです。

  • フォント指定できるのは3つのフォントだけです。例えば、「VLゴシック」とかのフォント名は表示されません。

  • 文字が拡大表示されるので、サイズを最小の 8 にすると、見やすくなりました。

  • 日本語を貼り付けると文字化け?します。作成したファイルを開くと正常に表示されていた日本語のドキュメントも文字化けです。Sugar は多言語対応をうたっていますが、このアプリは日本語では使えません。

-


Sugar のホーム画面:

→ Sugar は全画面表示が基本。機能を紹介するためにわざとフレーム(黒い太枠)を表示させました。この枠は通常は表示されません。4辺に置かれたアイコンに意味があります。

  • フレームの上側:

  F1 お隣さん(ご近所)

  F2 グループ

  F3 ホーム

  F4 アクティビティ

  F5 ジャーナル

  実行中のアクティビティリスト: →アクティビティが、開始された順序でフレームの上端に表示されます。

  • フレームの右側:

  アクティブなバディリスト: →現在共同編集しているユーザのアバター(人形)アイコンが表示されます。

共同編集をせず、ネットワーク接続は自分だけのときは、自分と同じ色の人形アイコンがひとつ表示されます。 共同作業のとき、ここにいろいろな色の人形が並びます。人形だけでなく、アプリにも同じ色が使われ区別できるようになっています。

  • フレームの左側:

  クリップボード: テキストだけでなく、図形も入ります。

  • フレームの下側:

  システムステータス:

    外部ストレージデバイス(USB メモリ、HDDなど)

    ネットワーク接続(WiFi、有線LAN)

    音声合成

    スピーカー(音量)

    バッテリー

-

サークル(丸)のアプリに色が付いているものは、一度開いたことのあるアプリで、ジャーナルにデータが登録されています。なので、まだ学習していないアプリがわかります。

アプリ(アクティビティ)がサークル(丸)状に並んでいますが、ホーム画面にはお気に入り(表示が許可された)アプリだけ表示されるので、すべてのアプリを表示させると、表示しきれず、丸でなくスパイラル(渦巻き)として表示されます。

-

Sugar のジャーナル画面:

→アプリの作業履歴というか、自動保存されたデータ一覧です。 ここから昔のデータに戻ることもできます。また、データ作成で使われたアプリでなく別のアプリも選択してそれで開くことができます。また、その項目のタイトルは簡単に編集できるので、データを作成したらジャーナルを見て、すぐに再利用しやすい名前に変えておくと便利です。しばらくしてからでは埋もれてしまい、どれかわかりません。

画面下の黒いバーには2つのアイコンがあり、左側が選択されています。これは内部ストレージです。

右側のUSB アイコンは、外部ストレージです。今回は自動マウントされたUSB メモリのfat32パーティション(/dev/sdb2) です。選択にて、格納されているファイルにアクセスできます。ランチャーだけでなく、ファイルマネージャも兼ねています。ちなみにUSB のマウントがない場合は、切り替える必要がないので、画面下の黒いバーは表示されません。

  • ジャーナルでの実際のファイル名は意味不明の文字列です。他のパソコンに持っていったりとかファイルとしては扱いにくいです。
ファイルの中身:

~/.sugar/default/datastore/12/1264c98a-cef8-40b4-8352-c58bdeea3c35/data

ファイルの属性:
~/.sugar/default/datastore/12/1264c98a-cef8-40b4-8352-c58bdeea3c35/metadata/title 他

-

  • USB は、fat32 であれば自動マウントされ、フレームやバーで「USB」のアイコンが表示されます。

  • スクリーンショットをパソコンに持っていくときは、F5 ジャーナル画面にて、該当するアイコンにマウスを持っていって、ブラウザで開くようにすると、~/.sugar/default/data/ にpng ファイルが現れます。

-


アプリのマルチ(複数起動的)な使い方

1. アプリ(アクティビティ)は全画面表示なので、使い方を知らないと、ウィンドウ操作に慣れた身からすると「使えない」と思えますし、アプリは終了して使いたいときに再度起動する、という使い方ではなく、停止のみで、どんどんアプリが起動されていくようで、違和感ありです。これはあとで、なるほどと思います。

2. F6 を押すか、マウスを四隅に持っていって黒いフレーム(枠)を表示させて、トップバーに並んだアプリのアイコンをクリックすれば、起動しているアプリ(アクティビティ)に切り替えできます。マルチでアプリが使えます。

3. F5 を押すと、ジャーナル画面に飛びます。今まで作業した履歴でもあり、ファイル一覧でもあり、過去のファイルをつかんだ状態で起動できるランチャーでもあります。タイトルは編集可能なので、アプリを起動したらすぐにわかりやすい名前に変更しておくと使いやすくなります。やっておかないと、時間とアプリ名でしか判断できなくなります。また、使っていたアプリでなく、別のアプリでも開くことができます。

4. ジャーナル画面では、マウントすべきUSB メモリの領域(Fat32) があれば、自動でマウントされ、画面下に、「ジャーナル」と「USB のボリューム名」のアイコンとして表示されます。 クリックで、内部か外部かのストレージの切り替えができます。

→「livecd-iso-to-disk」ツールを使うとき、インストール先のUSB メモリに未使用エリアを残しておくのがコツです。インストール完了後にfat32 などでフォーマットします。パソコンとのデータの受け渡しに便利です。

5. アプリのアイコンの色は、アバターの色です。これは、同じネットワークに接続された学生が共同で作品を作り上げていくためのしくみです。共有というか共同作業ができます。「お隣さん」として表現されています。共同作業するとフレームの右側にアバターが表示されます。

6. フレームの左には、クリップボードの履歴が並びます。フレームの下はシステムトレイの表示です。

7. パソコン初心者向けの単なる「おもしろいアプリが使えるシステム」と思っていましたが、操作法を学んで行くに従って、簡単に共同作業のできる「グループウェア」ではないかと思えてきました。工夫しだいで業務にも使えそうな気がします。

8. どちらにしても、使えるアプリ(アクティビティ)しだい。ツールキットもあるようなのでスキルがあれば自分でつくれるかも。

$ dnf search sugar

sugar-pippy.x86_64 : Pippy for Sugar →Python 言語の開発環境(インストール済み)

-


「Write」の使い方を見ると、Sugar の使い方が見えてきます

Write からの抜粋:

  • 「Write」アクティビティは、Sugar のドキュメント作成アクティビティとして機能します。文章を簡単に書いたり、画像の挿入、テーブルの作成、レイアウト操作などのツールがあります。

  • 「Write」アクティビティを使用して、ODT、DOC、RTF、TXT、HTML など、最も一般的なファイル形式を開いて編集できます。

  • 「Write」はジャーナルを利用し、自​​動的に保存されます。そして共同での編集や、グループでの読み聞かせなどの形での共同編集ができます。

  • 「Write」アクティビティは共同での編集をサポートしています。つまり、複数のユーザーが同じドキュメントを同時に編集できます。

-


ツールバーの 1段目に9つのボタンがあります。

  1. 「アクティビティ」タブ(アプリのアイコン): ツールバーの 2段目(サブメニュー)が表示されます。

  2. 「編集」ボタン(ハサミのアイコン): ドキュメント内のコピー、貼り付け、元に戻す、やり直し、検索ができます。

  3. 「表示」ボタン(目のアイコン):ドキュメントを拡大および縮小したり、ページ間をすばやく移動したりできます。

  4. 「読み上げ」ボタン(口のアイコン):話しかけたり、ロボットに声を出して読んでもらうことができます。

  5. 「フォント」ボタン(Tのアイコン):フォント、サイズ、強調、色を変更し、両端揃えすることができます。

  6. 「段落」ボタン(逆のPのアイコン):見出しとリストのスタイルを設定できます。

  7. 「表の挿入」ボタン(表のアイコン):表を挿入して調整できます。

  8. 「画像の挿入」ボタン(画像の挿入のアイコン):画像を挿入できます。

  9. 「停止」(停止のアイコン)アクティビティを停止または閉じます。

-


ツールバーの 2段目(サブメニュー)

  1. 新しいファイル名を入力できます。フィールド内をクリックすると、入力できます。

  2. 「説明」ボタン(鉛筆と本のアイコン):ジャーナルに説明を追加できます。

  3. 「共有スイッチ」ボタン

  4. プライベート: 共有しません。

  5. 私の近所(ご近所と共有): 共有します。つまり、他の人とネットワーク化されます。

  6. 「RTF 形式」(.RTF) でエクスポートまたは保存します。

  7. 「HTML 形式」(.HTML) でエクスポートまたは保存します。

  8. 「プレーンテキスト形式」(.TXT) でエクスポートまたは保存します。

  9. 「PDF 形式」(.PDF) でエクスポートまたは保存します。

-


共同編集を開始するには、次のいずれかを行います:

  • 招待状を送信します。

→招待状は特定の個人に送られます。

  • 「ご近所」(Neighborhood) と共有します。

→「ご近所のビュー」(Neighborhood View) で見える誰とでも共有できます。

-


管理者への注意

共同編集は「Write」の強力な機能ですが、共同編集を行うときは、同じドキュメントを編集するユーザー数を2〜3人に抑えることをお勧めします。そうしないと、遅延が発生して、ドキュメントがコンピュータ間で同期しなくなる傾向があります。また、これらのオブジェクトは寄せ集めされる傾向があるので、共同作業を行う際には、大きな画像やテーブルを使いすぎないようにしてください。

-


グループでの共同編集

各共同作業者は、ルールに従うか、前のユーザーが投稿した内容の終わりを確認できるようにすることによって、順番に追加して、構成していきます。

「Write」の共有インスタンスを同様の方法で使用して、共同作業でドキュメントを作成できます。

「Write」でグループでの共同編集を行うのは、楽しくて簡単です。友達のグループ(またはクラス)とドキュメントを共有するだけです。順番にドキュメントを開いてドキュメントに追加します。

共同編集の手順:

  1. 「Write」でドキュメントを開きます。

  2. 全員が従うように、最初の行にルールを入力します。

  3. 「アクティビティ」タブに移動します。

  4. 「私の近所(ご近所と共有)」を選択します。

  5. 1つずつ、グループ内の各ユーザーは、「ご近所のビュー」(Neighborhood View) で共有ドキュメントをクリックして開く必要があります。

  6. 彼らに順番が来たとき、彼らはルールに従って文章の最後に追加します。

  7. ドキュメントに追加したら、「Write」を終了する必要があります。ただし、注意があり、最初にドキュメントを始めた人は、全員が順番を完了するまで「Write」を終了してはいけません。

  8. 各人がドキュメントに追加した後、ドキュメントを始めた人は、グループにそれを声に出して読んでください。

-


書くことは、個人的な表現の最も強力な手段の1つです。

書くことは、表現の力を与えるだけでなく、他の人とあなたの表現を共有する手段を与えます。

  • 学校新聞を始めます。

  • 自伝を書きます。

  • コミュニティの誰かにインタビューします。

  • コミュニティに関するウィキペディアの記事を書きます。

  • どのように改善できるかについての提案を「Write」を使って書いて、手紙を送りました。

  • 「Write」を使用して、教師、家族、コミュニティとアイデアを共有しました。

  • 「Write」および「Record」を使用して調査し、コミュニティへのレポートをまとめました。

  • 「Write」を使用して、ブログを書きます。ブログのエントリは、年代順に並べられたエッセイです。

-


参考: Sugar に入っているアクティビティ

$ dnf group list
:
インストール済みの環境グループ:
   Sugar デスクトップ環境
インストール済みのグループ:
   Container Management
   LibreOffice

-

$ dnf group info "Sugar デスクトップ環境"
:
環境グループ: Sugar デスクトップ環境
 説明: 教育ソフトウェア向けのデスクトップ環境です。
 必須なグループ:
   Common NetworkManager Submodules
   Core
   Dial-up Networking Support
   Fonts
   Guest Desktop Agents
   Hardware Support
   Input Methods
   Multimedia
   Standard
   Sugar Desktop Environment
   base-x
 任意なグループ:
   Additional Sugar Activities

グループ: Sugar デスクトップ環境
 説明: 教育ソフトウェア向けのデスクトップ環境です。
 必須なパッケージ:
   alsa-plugins-pulseaudio
   alsa-utils
   gnome-power-manager
   gstreamer-plugins-espeak
   gstreamer1-plugins-bad-free
   gstreamer1-plugins-base
   gstreamer1-plugins-good
   gvfs
   lightdm
   lightdm-gtk
   metacity
   pulseaudio
   pulseaudio-utils
   sugar
   sugar-abacus
   sugar-browse
   sugar-calculator
   sugar-chat
   sugar-clock
   sugar-cp-all
   sugar-cp-updater
   sugar-finance
   sugar-fototoon
   sugar-imageviewer
   sugar-implode
   sugar-jukebox
   sugar-log
   sugar-logos
   sugar-maze
   sugar-memorize
   sugar-moon
   sugar-paint
   sugar-physics
   sugar-pippy
   sugar-portfolio
   sugar-read
   sugar-record
   sugar-speak
   sugar-stopwatch
   sugar-story
   sugar-terminal
   sugar-toolkit-gtk3
   sugar-turtleart
   sugar-typing-turtle
   sugar-words
   sugar-write

-

$ dnf group info "Additional Sugar Activities"
:
グループ: 追加の Sugar のアクティビティ
 説明: Sugar 環境で使うための追加のアクティビティ
 必須なパッケージ:
   sugar-calendario
   sugar-castle
   sugar-connect
   sugar-countries
   sugar-deducto
   sugar-distance
   sugar-flipsticks
   sugar-getiabooks
   sugar-infoslicer
   sugar-kuku
   sugar-labyrinth
   sugar-playgo
   sugar-pukllanapac
   sugar-ruler
   sugar-srilanka
   sugar-starchart
   sugar-view-slides
   sugar-visualmatch
   sugar-xoirc

-


参考: Sugar に入っているアクティビティのファイル構成

$ ls -1 /usr/share/sugar/activities/

Abacus.activity
Browse.activity
Calculate.activity
Chat.activity
Clock.activity
Finance.activity
FotoToon.activity
ImageViewer.activity
Implode.activity
Jukebox.activity
Log.activity
Maze.activity
Memorize.activity
Moon.activity
Paint.activity
Physics.activity
Pippy.activity
Portfolio.activity
Read.activity
Record.activity
Speak.activity
StopWatch.activity
Story.activity
Terminal.activity
TurtleBlocks.activity
TypingTurtle.activity
Words.activity
Write.activity

-

抜粋: write アクティビティの場合:

  • Sugar での実行ファイル:
$ cat /usr/share/sugar/activities/Write.activity/bin/Write-activity
  • アクティビティの設定ファイル:
$ cat /usr/share/sugar/activities/Write.activity/activity/activity.info

-


使わないパッケージを削除(入力メソッド):

  • デフォルトで、使わない言語の入力メソッドが入っています。ただし、ibus-kkc はシステム更新で復活したりします。 重くなってきたら、下記を実行しています。
$ sudo dnf remove ibus-kkc ibus-anthy ibus-hangul ibus-libpinyin ibus-libzhuyin ibus-m17n ibus-cangjie

ibus-hangul →ハングル、韓国語。

ibus-kkc →日本語(かな漢字)です。skkdic、langpacks-core、langpacks-ja

ibus-libpinyin →pinyin は中国語のローマ字入力です。

ibus-libzhuyin →zhuyin は中国語(中文)です。

ibus-m17n →libm17n ライブラリを用いることで多くの 非ラテン文字を入力できます。

ibus-cangjie →中国語(繁体字中国語)香港。

-

削除後の確認:

$ dnf list ibus-*
:
インストール済みパッケージ
ibus-gtk2.x86_64                     1.5.22-7.fc32                @updates
ibus-gtk3.x86_64                     1.5.22-7.fc32                @updates
ibus-libs.x86_64                     1.5.22-7.fc32                @updates
ibus-mozc.x86_64                     2.23.2815.102-9.fc32         @fedora
ibus-qt.x86_64                       1.3.3-24.fc32                @anaconda
ibus-setup.noarch                    1.5.22-7.fc32                @updates
ibus-typing-booster.noarch           2.9.1-1.fc32                 @updates
:

-

$ dnf list *mozc*
:
インストール済みパッケージ
ibus-mozc.x86_64                   2.23.2815.102-9.fc32                   fedora
mozc.x86_64                        2.23.2815.102-9.fc32                   fedora

-


使わないパッケージを削除(フォント):

  • デフォルトで、多分使うことのない言語のフォントがいっぱい入っています。こちらもシステム更新で復活したりします。 重くなってきたら、下記を実行しています。
$ sudo dnf remove lohit-assamese-fonts lohit-bengali-fonts lohit-devanagari-fonts lohit-gujarati-fonts lohit-kannada-fonts lohit-odia-fonts lohit-tamil-fonts lohit-telugu-fonts

-

$ sudo dnf remove google-noto-sans-sinhala-vf-fonts aajohan-comfortaa-fonts jomolhari-fonts khmeros-base-fonts khmeros-fonts-common sil-abyssinica-fonts sil-padauk-fonts sil-mingzat-fonts sil-nuosu-fonts smc-meera-fonts thai-scalable-fonts-common thai-scalable-waree-fonts

-


最終確認:

$ dnf list *fonts*
:
インストール済みパッケージ
abattis-cantarell-fonts.noarch                   0.201-2.fc32                 @anaconda
adobe-source-code-pro-fonts.noarch               2.030.1.050-8.fc32           @anaconda
compat-f32-dejavu-sans-fonts.noarch              2.37-7.fc32                  @anaconda
compat-f32-dejavu-sans-mono-fonts.noarch         2.37-7.fc32                  @anaconda
compat-f32-dejavu-serif-fonts.noarch             2.37-7.fc32                  @anaconda
dejavu-sans-fonts.noarch                         2.37-7.fc32                  @anaconda
dejavu-sans-mono-fonts.noarch                    2.37-7.fc32                  @anaconda
dejavu-serif-fonts.noarch                        2.37-7.fc32                  @anaconda
fonts-filesystem.noarch                          2.0.3-1.fc32                 @anaconda
gdouros-symbola-fonts.noarch                     10.24-6.fc32                 @anaconda
google-crosextra-caladea-fonts.noarch            1.002-0.14.20130214.fc32     @anaconda
google-crosextra-carlito-fonts.noarch            1.103-0.12.20130920.fc32     @anaconda
google-droid-sans-fonts.noarch                   20200215-3.fc32              @anaconda
google-noto-cjk-fonts-common.noarch              20190416-6.fc32              @anaconda
google-noto-emoji-color-fonts.noarch             20200402-1.fc32              @anaconda
google-noto-fonts-common.noarch                  20181223-7.fc32              @anaconda
google-noto-sans-cjk-ttc-fonts.noarch            20190416-6.fc32              @anaconda
google-noto-sans-gurmukhi-fonts.noarch           20181223-7.fc32              @anaconda
google-noto-serif-cjk-ttc-fonts.noarch           20190416-6.fc32              @fedora  
julietaula-montserrat-fonts.noarch               1:7.210-1.fc32               @updates 
liberation-fonts-common.noarch                   1:2.1.0-1.fc32               @anaconda
liberation-mono-fonts.noarch                     1:2.1.0-1.fc32               @anaconda
liberation-sans-fonts.noarch                     1:2.1.0-1.fc32               @anaconda
liberation-serif-fonts.noarch                    1:2.1.0-1.fc32               @anaconda
libreoffice-opensymbol-fonts.noarch              1:6.4.4.2-2.fc32             @updates 
paktype-naskh-basic-fonts.noarch                 5.0-2.fc32                   @anaconda
paratype-pt-sans-fonts.noarch                    20141121-10.fc32             @anaconda
stix-fonts.noarch                                2.0.2-3.fc32                 @anaconda
urw-base35-bookman-fonts.noarch                  20170801-14.fc32             @anaconda
urw-base35-c059-fonts.noarch                     20170801-14.fc32             @anaconda
urw-base35-d050000l-fonts.noarch                 20170801-14.fc32             @anaconda
urw-base35-fonts.noarch                          20170801-14.fc32             @anaconda
urw-base35-fonts-common.noarch                   20170801-14.fc32             @anaconda
urw-base35-gothic-fonts.noarch                   20170801-14.fc32             @anaconda
urw-base35-nimbus-mono-ps-fonts.noarch           20170801-14.fc32             @anaconda
urw-base35-nimbus-roman-fonts.noarch             20170801-14.fc32             @anaconda
urw-base35-nimbus-sans-fonts.noarch              20170801-14.fc32             @anaconda
urw-base35-p052-fonts.noarch                     20170801-14.fc32             @anaconda
urw-base35-standard-symbols-ps-fonts.noarch      20170801-14.fc32             @anaconda
urw-base35-z003-fonts.noarch                     20170801-14.fc32             @anaconda
:

LaTeX 関連を使わないなら、「urw-base35」のフォントも削除できます。

-


「Sugar デスクトップ環境」をインストールして、気付いたところ

  • ログインのセッション選択に「Sugar」が増えました。

  • 削除していたibus-kkc が復活しました。再度削除。

  • マウスカーソルがSugar の大きなカーソルに変わりました。違和感はありますが、見やすいです。

  • 立ち上げのとき、および、シャットダウンのときに流れるメッセージが、Sugar のスプラッシュ画面に変わりました。これはメッセージの方がいいかな。(立ち上げ時に表示されるようになったのは、2020-07-04 のシステム更新後です )

  • Sugar から「Squeak Etoys 」アクティビティ(プログラム開発環境みたいなオーサリングツール)はなくなりました。Fedora がWayland に移行したのが影響しているのかもしれませんが、「Squeak Etoys」(スクイーク)よりも視覚的にわかりやすいプログラミングができる、「Scratch」(スクラッチ)が主流になってきたからと思われます。

-


まとめ

ライブUSB メモリで使うよりも使い勝手は良いと思います。

Fedora 32 でコマンドを入れるだけで、簡単にSugar デスクトップ環境がインストールできました。日本語化されているし、入っていたアプリがSugar からも使えて便利です。日本語入力の設定は不具合修正がなければ簡単だったかも。

子供に学習させるのなら、前回作成したライブUSB メモリ でしょうが、自分で使うなら、融通が効く、こちらだと思います。

-

-


目次

先頭

-


-

Fedora 32「Sugar-on-a-Stick」SPINS をUSBメモリにインストール〈H74〉

登録日: 2020-06-24 更新日: 2020-06-24

Fedora Workstation 32」には、GNOME 以外のデスクトップ環境としてSPINS というフレーバー集があります。色々なデスクトップ環境の中でも特殊な「SoaS デスクトップ」である「Sugar-on-a-Stick」をインストールしてみました。

-

「目次」

-


Fedora のSPINS で選べるデスクトップ環境

FedoraのSPINS

  • KDE Plasma デスクトップ環境

  • Xfce デスクトップ環境

  • LXQT デスクトップ環境

  • mate-compiz デスクトップ環境(MATE に3D ウィンドウマネージャを追加)

  • Cinnamon デスクトップ環境

  • LXDE デスクトップ環境

  • SOAS デスクトップ環境 ←(今回のSugar のライブUSB メモリ版)

-


SoaS (Sugar-on-a-Stick) について

1. 「Sugar-on-a-Stick」は、10年ほど前に立ち上がった「子供ひとりにパソコンを 1台」を呼びかけている、OLPC (One Laptop per Child) プロジェクトのひとつの成果です。

2. ライブUSB メモリ(または、CD-ROM 立ち上げ)で使うことで、パソコンが行き渡っていなくても、USB メモリひとつあれば、「一人ひとりがパソコン学習できる環境を持つ」ことができます。

3. Fedora をベースに、Python で記述された「Sugar」と呼ばれる独自のGUI 環境(デスクトップ環境)を備え、その下で「アクティビティ」と呼ばれるアプリケーション群が動作します。

4. 「Sugar」はメッシュネットワーク を介した共同制作を前提に設計されており、複数の子供が同一の「アクティビティ」に参加して、共同で作品を作り上げることができます。

5. 「アクティビティ」(アプリ)としては、「ウェブブラウザ」、「ワードプロセッサ」、「ペイントツール」、「Squeak Etoys」などが用意されていましたが、現在は「Squeak Etoys」(オブジェクト指向のプログラミング環境)は除外されています。

6. ちなみに、Scratch はコンピュータクラブ向けにEtoys のコードを使って設計されました。

7. 「ライブ立ち上げ」でも、独自の作り方によりデータを保持できるのがポイントです。ただし、データを保持しなくてよいなら、通常のライブUSB の作リ方が使えます。

-


Sugar のホーム画面:

→ Sugar は全画面表示が基本です。これはフレーム(黒い太枠)を表示させたときの画面です。この枠は通常は表示されません。機能を紹介するために表示させました。4辺に置かれたアイコンに意味があります。

ちなみに、右の辺はネットワーク接続の状態です。自分と同じ色の人形アイコンがひとつだけあります。ネットワーク接続されているのは自分だけということで、共同編集をしていないことを示します。共同作業のとき、ここにいろいろな色の人形が並びます。人形だけでなく、アプリにも同じ色が使われ区別できるようになっています。

サークル(丸)のアプリに色が付いているものは、一度開いたことのあるアプリで、ジャーナルにデータが登録されています。なので、まだ学習していないアプリもわかります。

アプリ(アクティビティ)がサークル(丸)状に並んでいますが、ホーム画面にはお気に入り(表示が許可された)アプリだけ表示されるようになっているので、すべてのアプリを表示させると、表示しきれず、丸でなくスパイラル(渦巻き)として表示されます。

-

Sugar のジャーナル画面:

→アプリの作業履歴というか、自動保存されたデータ一覧です。 ここから昔のデータに戻ることもできます。また、データ作成で使われたアプリでなく別のアプリも選択してそれで開くことができます。また、その項目のタイトルは簡単に編集できるので、データを作成したらジャーナルを見て、すぐに再利用しやすい名前に変えておくと便利です。しばらくしてからでは埋もれてしまい、どれかわかりません。

画面下の黒いバーには2つのアイコンがあり、左側が選択されています。これは内部ストレージです。

右側のUSB アイコンは、外部ストレージです。今回は自動マウントされたUSB メモリのfat32パーティション(/dev/sdb2) です。選択にて、格納されているファイルにアクセスできます。ランチャーだけでなく、ファイルマネージャも兼ねています。ちなみにUSB のマウントがない場合は、切り替える必要がないので、画面下の黒いバーは表示されません。

-


関連のリンク

1. Sugar 環境の開発と配布を行うコミュニティ:

Sugar Labs

2. Sugar のドキュメント:

Welcome to Sugar’s documentation!

→Sugar だけでなく、アクティビティの説明があります。

3. Sugar のワープロである「Write」の使い方:

Write

→文章を簡単に書いたり、画像の挿入、テーブルの作成、レイアウト操作などのツールがあります。

4. Sugar のPython プログラム開発環境である「Pippy」の使い方:

Pippy

Python プログラムの開発環境で、本格的にPython プログラミングを学べます。

例えば、/home/olpc/Activities/Pippy.activity/data に小さなプログラムファイルを追加すると、それらをPippy の左側の列に表示できます。

5. Pippyの推奨プログラム例:

help support olpc - Pippy

→Pippy は、Sugar を介して近隣の他のユーザーと共有できます。 共有の方法は、Pippy アクティビティを終了した後に「ジャーナル」を使用することです。 Pippy の代わりに「Write」でそのアクティビティを再開して、「Write」アクティビティの共有を使用して、プレーンテキストを他のユーザーと共有します。他の方法もあるかもしれません。

-


SoaS デスクトップのダウンロード

Fedora 32 SoaS デスクトップのダウンロード にて、

ダウンロード ボタンをクリック。

ファイルの保存を指定。

そのベージにある「ダウンロードを検証してください」の「Verify 64bit!」を右クリック→「名前を付けてリンク先を保存」 →「Fedora-Spins-32-1.6-x86_64-CHECKSUM 」→保存

検証の手順はその上にある「these instructions. 」の青いリンクをクリック

1. イメージのダウンロードが完了。 「Fedora-SoaS-Live-x86_64-32-1.6.iso」

2. イメージを検証するには、まず適切な CHECKSUM ファイルをダウンロードして、イメージの保存場所と同じフォルダーに保存します。

Fedora-Spins-32-1.6-x86_64-CHECKSUM」

ダウンロードしたフォルダで右クリック→端末で開く

3. 次に、Fedora の GPG 鍵をインポートします:

$ curl https://getfedora.org/static/fedora.gpg | gpg --import

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10955  100 10955    0     0  25300      0 --:--:-- --:--:-- --:--:-- 25241
gpg: 鍵********CFC659B9:"Fedora (30) <fedora-30-primary@fedoraproject.org>"変更なし
gpg: 鍵********3C3359C4:"Fedora (31) <fedora-31-primary@fedoraproject.org>"変更なし
gpg: 鍵********12C944D0:"Fedora (32) <fedora-32-primary@fedoraproject.org>"変更なし ←(注目)
gpg: 鍵********0608B895:"EPEL (6) <epel@fedoraproject.org>"変更なし
gpg: 鍵********352C64E5:"Fedora EPEL (7) <epel@fedoraproject.org>"変更なし
gpg: 鍵********2F86D6A1:"Fedora EPEL (8) <epel@fedoraproject.org>"変更なし
gpg: 鍵********DBBDCF7C:"Fedora (iot 2019) <fedora-iot-2019@fedoraproject.org>"変更なし
gpg:           処理数の合計: 7
gpg:               変更なし: 7

→以前、Fedora 32 をインストール するときのダウンロードで検証したので、すでにGPG 鍵を保存しています。なので「変更なし」になっています。

4. まずは、CHECKSUM ファイルが有効であることを検証します:

$ gpg --verify-files *-CHECKSUM

gpg: 2020年04月25日 01時58分26秒 JSTに施された署名
gpg:                RSA鍵********12C944D0を使用 ←(注目)
gpg: "Fedora (32) <fedora-32-primary@fedoraproject.org>"からの正しい署名 [不明の] ←(注目)
gpg: *警告*: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
 主鍵フィンガープリント: **** **** **** **** ****  **** **** **** 12C9 44D0 ←(注目2)

You can verify the details of the GPG key(s) here. 和訳: GPGキーの詳細を確認:

↓ リンクをクリックして、下にスクロールで下記が確認できます。

Fedora Project が公開するそれぞれの安定版 RPM パッケージは、GPG で署名されています。 そのパッケージが、Fedora Project によって提供されたもので、改変されていないことを確認できます。

現行のキーはこちら:

Fedora 32
id:
4096R/12C944D0 2019-08-12

Fingerprint:
**** **** **** **** **** **** **** **** 12C9 44D0 ←(注目2)

5. CHECKSUM ファイルは以下のキーの内の1つから適切な署名を持っている必要があります:

12C944D0 - Fedora 32 ←(注目)
3C3359C4 - Fedora 31
CFC659B9 - Fedora 30
DBBDCF7C - IOT 2019

これで、CHECKSUM ファイル自体の検証が完了しました。

6. イメージのチェックサムが同じであることを確認して検証:

$ sha256sum -c *-CHECKSUM

sha256sum: Fedora-Cinnamon-Live-x86_64-32-1.6.iso: そのようなファイルやディレクトリはありません
Fedora-Cinnamon-Live-x86_64-32-1.6.iso: FAILED open or read
:
Fedora-SoaS-Live-x86_64-32-1.6.iso: 完了  ←(注目)
sha256sum: Fedora-Xfce-Live-x86_64-32-1.6.iso: そのようなファイルやディレクトリはありません
Fedora-Xfce-Live-x86_64-32-1.6.iso: FAILED open or read
sha256sum: 警告: 書式が不適切な行が 19 行あります
sha256sum: 警告: 一覧にある 6 個のファイルが読み込めませんでした

→余分なメッセージで見づらいですが、該当のiso ファイルが「完了」ならば OK です。

$ ls -1
Fedora-SoaS-Live-x86_64-32-1.6.iso
Fedora-Spins-32-1.6-x86_64-CHECKSUM

Fedora-Spins のiso ファイルとCHECKSUM ファイルをダウンロードした状態です。

7. 念のため、CHECKSUM ファイルの内容と同じか、確認。(すでに手順としては実行されており不要です。)

# Fedora-SoaS-Live-x86_64-32-1.6.iso: 1109803008 bytes
SHA256 (Fedora-SoaS-Live-x86_64-32-1.6.iso) = f43f3b3928ecd708bdb44fbe9d44d9ab42355aed752cd32356078dc0065d4852
↓

$ sha256sum Fedora-SoaS-Live-x86_64-32-1.6.iso
f43f3b3928ecd708bdb44fbe9d44d9ab42355aed752cd32356078dc0065d4852  Fedora-SoaS-Live-x86_64-32-1.6.iso

→他のディストリビューションの場合は、チェックサム値がサイトに書かれているので、省略してチェックサムの確認(最低でも必要な検証)だけになりがちです。

Fedora だと「GPG 鍵」の確認まで行わせる手順です。ただし、余計なメッセージの表示があるので、初めてだと正常なのかわからず戸惑います。(GPG 鍵の署名を行っておくと、余計なメッセージは減るのですが面倒です。)

-


Sugar のインストール

OS としてインストールすると、高速のUSB メモリでないと嫌になるくらい遅いです。 ライブだと、イメージをロードしての立ち上げになるので、ほどほどの性能のUSB メモリでもサクサクです。

ただし、データを保持する設定だと、最初は速いのですが、更新のたびに差分が保存されて行き、立ち上げで余分なロードが増えてだんだん遅くなります。最終的にはエリアが一杯になる可能性もあります。

使ってみての経験から「sudo dnf update」は控えて、My setting でのソフトウェア更新だけを行う使い方が快適です。

-


「livecd-iso-to-disk」ツールで、ライブUSB メモリを作成:

Fedora でのみで使える「livecd-iso-to-disk」でライブUSB メモリを作成すると、「更新したデータを保持する」設定にできます。

3つ機能をサポートしており、特に項番 2 の機能が重要です。

1. 推奨されませんが、USB メモリ上の既存のファイルを残すことができます。 逆に、--format パラメータを使うと、USB メモリ上のすべてのデータを破棄します。

2. ライブイメージでは、「永続的なオーバーレイ」(persistent overlay) を含めることで、変更分が再起動しても消えません。

3. ライブイメージでは、「/home オーバーレイ」を含めることで、ユーザーアカウント情報とドキュメントやダウンロードしたファイルなどのデータを保存できます。外部とのやり取りをするなら設定が必要です。オプションで、セキュリティを向上させる暗号化も使えます。

-


1. Fedora (GNOME) を立ち上げ

ライブUSB メモリを作成する母艦となるシステムを立ち上げます。 Fedora でないと「livecd-tools パッケージ」は使えません。

-


2. livecd-tools パッケージのインストール:
$ sudo dnf install livecd-tools

-


3. 32GB USB メモリをセット

32GB USB メモリをライブUSB メモリとして使いました。 最低 4GB でも作成できますが、パラメータの値を変える必要があります。

-


4. gparted を起動

右上にて、/dev/sdc 選択 右クリック→アンマウント 削除

New →サイズ: 10000 、fat32 で「適用」 右クリック→「フラグを編集」→「boot」にチェック→閉じる

-


5. USB メモリを抜き差し

-


6. コマンドでアンマウント
$ umount /dev/sdc1
$ 

→エラーが返らなければOK

-


7. 確認
$ sudo parted /dev/sdc

[sudo] USER_NAME のパスワード:
GNU Parted 3.3
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。

(parted) print
モデル: Verbatim STORE N GO (scsi)
ディスク /dev/sdc: 31.0GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
  1    1049kB  10.0GB  10.0GB  primary  fat32             boot

(parted) quit

→しつこく確認するのは、デバイス番号を間違えないためです。

-


8. USB メモリにインストール

fat32」でのフォーマットは、ひとつのファイルのサイズが4GB という壁があり、--overlay-size-mb は4095 以上(0 オリジン)になると受付けないようです。「ext4」でフォーマットするとファイルサイズの制限はなくなりますが、手持ちの古いPC では立ち上がらず、使えませんでした。新しいパソコンなら使えるかもしれません。

また、--home-size-mb を指定して作成(home.img というファイルが作られるのでサイズは 4GB まで)するとパスワードの入力を求められます。SoaS の場合、ログイン画面でユーザ名とパスワードを聞いてくるようになりました。

SoaS では、(LIVEUSER は無効になっていて)ユーザが作られていないのでユーザ名が指定できず、ログイン画面でログインできませんでした。

これらは、下記のパラメータを追加すると、パスワードを聞いて来なくなり、回避できました。

今回は容量の大きなUSB メモリを使ったので、先頭しか使われないので、有効に使うため、先頭だけを使い、後ろに未使用エリアを残しました。インストール完了後に、fat32 でフォーマットすると自動でマウントされ、データの受け渡しに使えます。

今回は、32GB のUSB メモリなので、システム: 2GB、overlay: 4GB(最大)、home: 4GB(最大)、未使用: 20GB(残り全部) としました。

8GB のUSB メモリなら、システム: 2GB、overlay: 2GB、home: 2GB、未使用: 2GB として、 4GB のUSB メモリなら、システム: 2GB、overlay: 1GB、home: 1GB とできそうです。

-

$ cd ~/ダウンロード/Fedora-SoaS/
$ ls -1
Fedora-SoaS-Live-x86_64-32-1.6.iso
Fedora-Spins-32-1.6-x86_64-CHECKSUM

-

  • 「/home の暗号化なし、/home の削除(作らない)」のパラメータを追加して実行:
$ sudo livecd-iso-to-disk --noverify --overlay-size-mb 4094 --home-size-mb 4094 --unencrypted-home --delete-home Fedora-SoaS-Live-x86_64-32-1.6.iso /dev/sdc1
:
Copying LiveOS image to target device...
squashfs.img
    993,484,800 100%   37.16MB/s    0:00:25 (xfr#1, to-chk=0/1)

Syncing filesystem writes to disc.
    Please wait, this may take a while...
Setting up /EFI/BOOT
Copying /images directory to the target device.
efiboot.img
     11,462,656 100%   36.83MB/s    0:00:00 (xfr#1, to-chk=0/1)
macboot.img
     23,994,368 100%   37.16MB/s    0:00:00 (xfr#1, to-chk=0/1)
initrd.img
     57,300,264 100%   45.93MB/s    0:00:01 (xfr#1, to-chk=0/1)
vmlinuz
     10,782,824 100%   43.63MB/s    0:00:00 (xfr#1, to-chk=0/1)
Updating boot config files.
Initializing persistent overlay... ←(永続的オーバーレイエリアの初期化)
4094+0 レコード入力
4094+0 レコード出力
4292870144 bytes (4.3 GB, 4.0 GiB) copied, 162.277 s, 26.5 MB/s
Initializing persistent /home   ←(/home エリアの初期化)
4094+0 レコード入力
4094+0 レコード出力
4292870144 bytes (4.3 GB, 4.0 GiB) copied, 172.998 s, 24.8 MB/s
Formatting unencrypted home.img
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 1048064 4k blocks and 262144 inodes
Filesystem UUID: 17557834-83b1-4ec1-9bcf-2ae865d6a65d
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

tune2fs 1.45.5 (07-Jan-2020)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Installing boot loader...
Target device is now set up with a Live image!

-


9. 作成されたUSB メモリを確認:
$ cd /run/media/ubn/LIVE/

$ ls -1
EFI
LiveOS
images
syslinux

$ cd /run/media/ubn/LIVE/LiveOS/

$ ls -1
home.img
livecd-iso-to-disk
overlay-LIVE-C09C-F42C
squashfs.img

$ ls -l
合計 9354800
-rw-r--r--. 1 ubn ubn 4292870144  6月  8 15:56 home.img  ←(/home エリア)4GB
-rw-r--r--. 1 ubn ubn      83031  6月  8 15:47 livecd-iso-to-disk
-rw-r--r--. 1 ubn ubn 4292870144  6月  8 15:50 overlay-LIVE-C09C-F42C ←(永続的オーバーレイエリア)4GB
-rw-r--r--. 1 ubn ubn  993484800  6月  8 15:47 squashfs.img  ←(/ イメージ)1GB

-


作成された「ライブUSB メモリ」で立ち上げ

1. 使用したい名前を入力。

2. アバター(人形アイコン)をクリックしてアバターの色を変更。

3. Sugar は、「Home ビュー」(F3 キー)から始まります。

→アプリのアイコンがサークル表示で、並んでいます。

4. 右上の「横四本」アイコンをクリックして、すべてのアプリを表示して、 「Terminal」アクティビティに星印を付け、「Terminal」(端末)を起動します。

→全画面で端末が開きます。

右上の「停止」か、F3 キーで、「Home ビュー」に戻れます。

  • 「シャットダウン」や「再起動」は、サークルの中心にあるアバターにカーソルを持っていくと、メニューが開きます。

-


端末で、テキストエディタとして「nano」を使う

エディタは、「Write」ではなく、端末から起動する「nano」がおすすめです。 メニューも日本語化されるし、日本語入力も可能です。候補窓も適切な位置に表示されます。

「nano」は、右上の「+」で違うタブで起動して使うと、タブの切り替えで、端末のメッセージを貼り付けできます。

$ nano memo.md

最初、マウスの選択範囲が有効でないので戸惑いますが、 マウスで使うのはスクロールボタンだけと思えば、だんだん慣れて快適に使えます。

Alt+6 : コピー

Ctrl+k : 切り取り

Ctrl-u : 貼り付け

端末でのコピー: Ctrl+Shift+c

端末からの貼り付け: Ctrl+Shift+v

マウスの中央ボタン: 貼り付け

やり直し: Alt+u

上書き保存: Ctrl+o

終了: Ctrl+x

「gedit」をインストールする手もありますが、「gedit」よりも軽い「pluma」がオススメです。これらのアプリは全画面でなく、通常のウィンドウとして起動されます。タイトルバーをつかんで左右にぶつけると、半画面でタイリング表示されます。

-


日本語表示の設定:

  • 「My Setting」にて言語設定の画面が表示されません。タイトルは表示されます。

→以前のバージョンに比べ、日本語化にはひと手間かかります。

システムとしての設定:

$ sudo localectl set-locale LANG=ja_JP.UTF-8

→「My Setting」にてアバターを変更してリセットすると日本語化されます。しかし、再起動で解除されます。

-

しかたないので、ユーザーの設定ファイルで日本語化しました:

$ nano ~/.bash_profile

↓ 最終行に追記:

export LANG=ja_JP.UTF-8

再起動

-


日本語表示の確認:

$ date
2020年  6月  8日 月曜日 21:40:57 JST

→時刻が日本語で返ってくるかを確認。

-

$ cat /etc/locale.conf
LANG=ja_JP.UTF-8
$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

-

$ localectl
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: us
      X11 Layout: n/a

→システムとしてはキーボードの指定が英語のままですが、 Sugar の設定では日本語キーボードになっているので、支障ありません。

@@@ jp106  →ちゃんと@が入ります。

VC Keymap: jp106

X11 Layout: jp

-


日本語入力の設定:

参考:

SoaS (Sugar on a Stick) V2 Blueberry を日本語で使う方法  ←(一部リンク切れ)

  • 使用実績のある無難なibus-anthy を入れました。
$ sudo dnf install ibus-anthy
:
インストール:
 ibus-anthy
依存関係のインストール:
 anthy
 anthy-unicode
 ibus
 ibus-anthy-python
 ibus-gtk2
 ibus-gtk3
 ibus-libs
 ibus-setup
 kasumi
 xemacs-filesystem

再起動

-


設定の修正:

$ sudo nano /etc/X11/xinit/xinitrc.d/50-xinput.sh

下記の行を編集:

SYS_XINPUTRC="/etc/X11/xinit//xinputrc"

↓ 下記に修正:

SYS_XINPUTRC="/etc/X11/xinit/xinputrc"

再起動

-


入力メソッドの選択:

$ im-chooser

→「anthy」を選択

-


設定の追記:

$ sudo nano /etc/X11/xinit/xinitrc.d/40-sugar-imsettings.sh

↓ 下記を記述:

export IMSETTINGS_INTEGRATE_DESKTOP=no

再起動

-


日本語入力できるかの確認:

「Write」アクティビティよりも、端末で「nano」を使うほうが確認しやすいです。

$ nano memo.md

→ファイル名は指定しなくてもよいですが、指定していたほうが書き込みが楽です。

ファイルはホーム配下 に作られます。

-


USB メモリを手動マウントしてみます:

  • ライブUSB メモリの未使用エリアをfat32 でフォーマット、「doc」フォルダを作ってテキストファイルをコピーしておきました。

手動でテストするので、マウントポイントを作ります: (本当は、自動マウントされるので要りませんが、勉強です)

$ cd /mnt

$ sudo mkdir DATA
$ ls
DATA

$ cd
$ sudo mount -o iocharset=utf8 -t vfat /dev/sdb2 /mnt/DATA/

$ ls /mnt/DATA/doc/
2020-05-29-memo.md  2020-06-04-memo.md  2020-06-07-Fedora-Sugar-インストール.md  Fedora-SPINS-「Sugar-on-a-Stick」.md

$ cd
$ ls
memo.md

$ sudo cp /mnt/DATA/doc/*.md ./
$ ls
2020-05-29-memo.md  2020-06-04-memo.md  2020-06-07-Fedora-Sugar-インストール.md  Fedora-SPINS-「Sugar-on-a-Stick」.md  memo.md

$ umount /dev/sdb2
umount: /mnt/DATA: must be superuser to unmount.

$ sudo umount /dev/sdb2
$ nano memo.md

-


Sugar のシステムについて調べてみました

$ ls /run/
NetworkManager  avahi-daemon  console     dmeventd-client  firewalld      initctl    lightdm.pid  lvm            mdadm  motd.d  plymouth       rpcbind       samba     sm-notify.pid   sudo        udev     utmp
alsactl.pid     blkid         cryptsetup  dmeventd-server  gssproxy.pid   initramfs  lock         mcelog-client  media  mount   ppp            rpcbind.sock  sepermit  spice-vdagentd  systemd     udisks2  xtables.lock
auditd.pid      chrony        dbus        faillock         gssproxy.sock  lightdm    log          mcelog.pid     motd   pcscd   rpc.statd.pid  rsyslogd.pid  setrans   sssd.pid        tmpfiles.d  user

USB メモリのパーティション /dev/sdb2(fat32) は自動でマウントされました: ボリューム名 DATA

$ ls /run/media/liveuser/DATA/doc/
2020-05-29-memo.md  2020-06-04-memo.md  2020-06-07-Fedora-Sugar-インストール.md  Fedora-SPINS-「Sugar-on-a-Stick」.md

マウントの状態を確認:

$ mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4010096k,nr_inodes=1002524,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,seclabel,nsdelegate)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)

/dev/sdb1 on /run/initramfs/live type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
/dev/mapper/live-rw on / type ext4 (rw,relatime,seclabel)

rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=21550)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
vartmp on /var/tmp type tmpfs (rw,relatime,seclabel)

/dev/loop3 on /home type ext4 (rw,relatime,seclabel)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=808396k,mode=700,uid=1000,gid=1000)

/dev/sdb2 on /run/media/liveuser/DATA type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

→マウントされたすべての情報が表示されます。重要なのは、一番下。それと /home


F5 ジャーナル画面にて、マウントされたことで、画面下に黒いバーが表示され、「ジャーナル」、「DATA」のアイコンが表示されています。

「DATA」はUSB メモリの/dev/sdb2(fat32) のボリューム名です。領域確保していないときは表示されませんでしたが、fat32 で領域を確保したら自動でマウントされました。そして、表示切り替えできるように黒いバーが表示されたということです。

「F5 ジャーナル画面」で確認できる、画面下の黒いバーのアイコンは、

  • 「ジャーナル」: 内部のストレージ(デフォルトは2GB で保持なし。ここでは、4GB 弱で保持あり)→ 「/dev/sdb1」に作られたhome.img(/home/liveuser/)

  • 「DATA」: 外部のストレージ(ここでは、20GB 弱)→ 「/dev/sdb2」(/run/media/liveuser/DATA/) 未使用領域を使用。

ジャーナル画面で表示を切り替えることで、各々のファイルの一覧が確認できます。 ただし、ジャーナルでは、利用者にとってファイル名は意味不明の文字列なので、代わりにユーザごとに色分けされた(編集可能な)タイトルが表示されます。ファイルの概念を知らなくても使えますが、他のパソコンに持っていったりとかファイルとしては扱いにくいです。

-


$ ls -a /home
.  ..  liveuser  lost+found

$ ls -a /home/liveuser/
.   .bash_history  .bash_profile  .cache   .esd_auth  .local  .xsession-errors      2020-05-29-memo.md  2020-06-07-Fedora-Sugar-インストール.md  memo.md
..  .bash_logout   .bashrc        .config  .gnome2    .sugar  .xsession-errors.old  2020-06-04-memo.md  Fedora-SPINS-「Sugar-on-a-Stick」.md

$ ls -a /home/liveuser/.sugar/
.  ..  default

$ ls -a /home/liveuser/.sugar/default/
.  ..  data  datastore  debug  favorite_activities  logs  org.laptop.AbiWordActivity  org.laptop.Terminal  org.laptop.WebActivity  org.laptop.sugar.ReadActivity  owner.key  owner.key.pub  terminalrc

$ ls -a /home/liveuser/.sugar/default/data/
.  ..  0b91e3c7-784f-4a51-abfe-05cc7735ed49_jmvakon0.txt  20855898-71d7-4989-9210-2549af6146b9_idif87gt.md  d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1_mdpys26a.png
$ cd /run/media/liveuser/DATA/
$ ls
doc

→ドキュメント用にフォルダを作りました。

データのやり取りのためのフォルダを作成:

$ sudo mkdir test
$ ls
doc  test

$ cd /run/media/liveuser/DATA/test/
$ sudo cp /home/liveuser/.sugar/default/data/*.* ./

$ ls
0b91e3c7-784f-4a51-abfe-05cc7735ed49_jmvakon0.txt  20855898-71d7-4989-9210-2549af6146b9_idif87gt.md  d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1_mdpys26a.png

-


Sugar のデータ(ジャーナル)が置かれている場所:

$ date
2020年  6月  9日 火曜日 05:18:43 JST

$ ls -a /home/liveuser/.sugar/default/datastore/
.  ..  0b  11  20  21  2b  3a  53  5a  5d  77  7b  93  cf  checksums  d3  ds_clean  index  index_updated  version

$ ls -l /home/liveuser/.sugar/default/datastore/
drwxr-xr-x.  3 liveuser liveuser 4096  6月  8 16:07 0b
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 04:06 11
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 04:04 20
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 00:22 21
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 00:02 2b
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 03:57 3a
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 04:12 53
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 00:21 5a
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 03:44 5d
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 00:22 77
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 04:10 7b
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 03:44 93
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 00:23 cf
drwxr-xr-x. 14 liveuser liveuser 4096  6月  9 05:15 checksums
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 03:45 d3
-rw-r--r--.  1 liveuser liveuser    0  6月  9 05:17 ds_clean
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 05:15 f7
drwx------.  2 liveuser liveuser 4096  6月  9 05:17 index
-rw-r--r--.  1 liveuser liveuser    0  6月  9 05:17 index_updated
-rw-r--r--.  1 liveuser liveuser    1  6月  8 16:07 version

-


"ジャーナル画面"のスクリーンショット画像 (png):
$ ls -l /home/liveuser/.sugar/default/datastore/d3/
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 03:45 d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1

$ ls -l /home/liveuser/.sugar/default/datastore/d3/d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1/
-rw-------. 2 liveuser liveuser 72578  6月  9 03:45 data
drwxr-xr-x. 2 liveuser liveuser  4096  6月  9 03:58 metadata

$ cat /home/liveuser/.sugar/default/datastore/d3/d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1/metadata/title
"ジャーナル"のさらに含んだスクリーンショット

→「data」がpng ファイルになります。

-


Write でプレーンテキストとして保存したファイル:
$ ls -l /home/liveuser/.sugar/default/datastore/f7/
drwxr-xr-x.  3 liveuser liveuser 4096  6月  9 05:15 f7215d19-91c9-401f-b360-80569a44c2df

$ ls -l /home/liveuser/.sugar/default/datastore/f7/f7215d19-91c9-401f-b360-80569a44c2df/
-rw-rw-r--. 2 liveuser liveuser  345  6月  9 00:21 data
drwxr-xr-x. 2 liveuser liveuser 4096  6月  9 05:15 metadata

$ ls -l /home/liveuser/.sugar/default/datastore/f7/f7215d19-91c9-401f-b360-80569a44c2df/metadata/
-rw-r--r--. 1 liveuser liveuser   26  6月  9 05:15 activity
-rw-r--r--. 1 liveuser liveuser    0  6月  9 05:15 activity_id
-rw-r--r--. 1 liveuser liveuser   32  6月  9 05:15 checksum
-rw-r--r--. 1 liveuser liveuser   10  6月  9 05:15 creation_time
-rw-r--r--. 1 liveuser liveuser    3  6月  9 05:15 filesize
-rw-r--r--. 1 liveuser liveuser  345  6月  9 05:15 fulltext
-rw-r--r--. 1 liveuser liveuser   15  6月  9 05:15 icon-color
-rw-r--r--. 1 liveuser liveuser    1  6月  9 05:15 keep
-rw-r--r--. 1 liveuser liveuser   10  6月  9 05:15 mime_type
-rw-r--r--. 1 liveuser liveuser   26  6月  9 05:15 mtime
-rw-r--r--. 1 liveuser liveuser 9062  6月  9 05:15 preview
-rw-r--r--. 1 liveuser liveuser    7  6月  9 05:15 share-scope
-rw-r--r--. 1 liveuser liveuser   10  6月  9 05:15 timestamp
-rw-r--r--. 1 liveuser liveuser   39  6月  9 05:15 title
-rw-r--r--. 1 liveuser liveuser    1  6月  9 05:15 title_set_by_user
-rw-r--r--. 1 liveuser liveuser   36  6月  9 05:15 uid

$ cat /home/liveuser/.sugar/default/datastore/f7/f7215d19-91c9-401f-b360-80569a44c2df/metadata/title
Write アクティビティ (TXT) (TXT)

$ cat /home/liveuser/.sugar/default/datastore/f7/f7215d19-91c9-401f-b360-80569a44c2df/data
Write では、うまくやらないと日本語入力がオンになりません。
フォントの指定を何でもいいので、切り替えてやらないと日本語が入力できません。

また、日本語の切り貼りで不具合があり、貼り付けで文字化けします。
もしかしたら、致命的かも。

→タイトルは自動で付きますが、ジャーナル画面で編集可能です。 「data」がtxt ファイルになります。ファイル名の変更はできません。

-


受け渡しのためのメモ(memo.md) のコピー:
$ cd /run/media/liveuser/DATA/test/
$ sudo cp /home/liveuser/memo.md ./

$ ls -l
合計 144
-rw-r--r--. 1 liveuser liveuser  3988  6月  9 04:50 0b91e3c7-784f-4a51-abfe-05cc7735ed49_jmvakon0.txt
-rw-r--r--. 1 liveuser liveuser 17604  6月  9 04:50 20855898-71d7-4989-9210-2549af6146b9_idif87gt.md
-rw-r--r--. 1 liveuser liveuser 72578  6月  9 04:50 d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1_mdpys26a.png
-rw-r--r--. 1 liveuser liveuser 11840  6月  9 06:08 memo.md

-


受け渡しのための画像のコピー:
$ cd /run/media/liveuser/DATA/test/
$ sudo cp /home/liveuser/.sugar/default/data/3b27761a-74ec-479c-b41e-74914e05fe24_rb0xv1rq.png ./

$ ls /run/media/liveuser/DATA/test/
0b91e3c7-784f-4a51-abfe-05cc7735ed49_jmvakon0.txt  20855898-71d7-4989-9210-2549af6146b9_idif87gt.md  3b27761a-74ec-479c-b41e-74914e05fe24_rb0xv1rq.png  d3593cfc-17f6-4a5d-80df-5cdd61e4ecd1_mdpys26a.png  memo.md

-


気づいたところ

  • 「Write」は、日本語を貼り付けると文字化けします。致命的です。

  • 「Write」は、フォント指定が新規だと、日本語のフォント(VLゴシック)が表示されませんが、フォント指定を適当に変更すると、日本語入力できます。すでに日本語入力されたファイルを読み込むと、VLゴシックが表示されます。

  • 「Write」は、日本語入力時の候補窓が左下に固定なので、日本語入力がやりづらいです。

  • 「Write」は、文章をRTF、TXT、HTML で保存できます。

  • 「My Setting」にて言語設定の画面が表示されません。タイトルは表示されています。なので、以前のバージョンに比べ、日本語化にはひと手間かかります。

  • 日本語のフォント(VLゴシック)がすでにインストールされています。

  • USB は、fat32 であれば自動マウントされ、フレームやバーで「USB」のアイコンが表示されます。

  • スクリーンショットをパソコンに持っていくときは、F5 ジャーナル画面にて、該当するアイコンにマウスを持っていって、ブラウザで開くようにすると、~/.sugar/default/data/ にpng ファイルが現れます。

  • 作成したUSB メモリをFedora のシステムでマウントできない場合があります。 LVM2 で作成されると、仮想のパーティション名がホスト名のため、同じホスト名だと拒否されます。

ホスト名がデフォルトだと、この現象になります。仮想ボリューム名を変更するとマウントできますが、今度はUSB メモリで立ち上がらなくなります。LVM2 はやっかいです。

→簡単な解決法は、Fedora 以外にマウントすることです。

-


アプリのマルチ(複数起動的)な使い方

1. アプリ(アクティビティ)は全画面表示なので、使い方を知らないと、ウィンドウ操作に慣れた身からすると「使えない」と思えますし、アプリは終了して使いたいときに再度起動する、という使い方ではなく、停止のみで、どんどんアプリが起動されていくようで、違和感ありです。これはあとで、なるほどと思います。

2. F6 を押すか、マウスを四隅に持っていって黒いフレーム(枠)を表示させて、トップバーに並んだアプリのアイコンをクリックすれば、起動しているアプリ(アクティビティ)に切り替えできます。マルチでアプリが使えます。

3. F5 を押すと、ジャーナル画面に飛びます。今まで作業した履歴でもあり、ファイル一覧でもあり、過去のファイルをつかんだ状態で起動できるランチャーでもあります。タイトルは編集可能なので、アプリを起動したらすぐにわかりやすい名前に変更しておくと使いやすくなります。やっておかないと、時間とアプリ名でしか判断できなくなります。また、使っていたアプリでなく、別のアプリでも開くことができます。

4. ジャーナル画面では、マウントすべきUSB メモリの領域(Fat32) があれば、自動でマウントされ、画面下に、「ジャーナル」と「USB のボリューム名」のアイコンとして表示されます。 クリックで、内部か外部かのストレージの切り替えができます。

→「livecd-iso-to-disk」ツールを使うとき、インストール先のUSB メモリに未使用エリアを残しておくのがコツです。インストール完了後にfat32 などでフォーマットします。パソコンとのデータの受け渡しに便利です。

5. アプリのアイコンの色は、アバターの色です。これは、同じネットワークに接続された学生が共同で作品を作り上げていくためのしくみです。共有というか共同作業ができます。「お隣さん」として表現されています。共同作業するとフレームの右側にアバターが表示されます。

6. フレームの左には、クリップボードの履歴が並びます。フレームの下はシステムトレイの表示です。

7. パソコン初心者向けの単なる「おもしろいアプリが使えるシステム」と思っていましたが、操作法を学んで行くに従って、簡単に共同作業のできる「グループウェア」ではないかと思えてきました。工夫しだいで業務にも使えそうな気がします。

8. どちらにしても、使えるアプリ(アクティビティ)しだい。ツールキットもあるようなのでスキルがあれば自分でつくれるかも。

$ dnf search sugar*

sugar-pippy.x86_64 : Pippy for Sugar →Python 言語の開発環境(インストール済み)

-


参考: ライブUSB メモリにて「liveinst」を使い、別のUSB メモリにOS としてインストール:

Installing Using Anaconda

  • 通常のOS をUSB メモリにインストールするのと同じなので、更新した情報は保持されます。

1. Sugar のライブUSB メモリで立ち上げます。

2. 使用したい名前を入力。

3. アバター(人形アイコン)をクリックしてアバターの色を変更。

4. Sugar は、Homeビュー(F3)から始まります。

→アプリのアイコンがサークル表示で、並んでいます。

5. 右上の「横四本」アイコンをクリックして、すべてのアプリを表示して、 「Terminal」アクティビティに星印を付け、「Terminal」(端末)を起動します。

全画面で端末が開きます。

6. root 管理者になります:

$ su
# 

7. Anacondaインストーラーを起動:

# liveinst

8. Language を選択

9. Installation Summary にて、インストール先などの設定がされているかを確認。

  • Date & Time

  • Keyboard Layout

  • Installation Destination →(インストール先)

OK なら、「Begin Installation」

10. 動作確認

→通常のOS の立ち上げと同じです。ログイン画面で作成したユーザでログインするとSugar のデスクトップ画面になります。

  • 立ち上げや、シャットダウン、システム更新、再起動がものすごく遅いです。 ノーマルのFedora の方がマシかもしれません。「高速なUSB メモリが必要」です。

  • 利点は、好みのFedora のアプリをインストールできること。

→でも、Fedora に、Sugar のデスクトップ環境をインストールする方が、必要なアプリはすでにあるので楽だと思います。それに未確認だけど、起動が速いかもしれません。

-


まとめ

ライブ起動ならば、ほどほどの性能のUSB メモリでもサクサク動き、最低4GB でも使えるのが利点です。

  • 「Write」は共同制作の要になるアプリです。日本語入力できるようにできましたが、貼り付けで文字化け?します。 これだと日本でのメイン使用は難しそう。なので、テキストファイルのビュワーとして使っています。文字が大きく疲れませんし、表示だけなら日本語もちゃんと表示されます。

  • テキストエディタを使うときは、Terminal (端末)を起動してから、タブでもうひとつ端末画面を増やし、「nano」を起動して使っています。これなら端末の出力メッセージも、Ctrl+Shift+C や範囲選択してのマウスの中央ボタンで持ってこれます。操作の統一感のなさ(クセ)は使っていると慣れてきました。

  • 個人的にハマっているアプリは、「Typing Turtle」(キーボード練習)のどこかで見たことのある風船割りゲームです。 このゲームだけなら、通常のライブUSB メモリの作成でいいと思います。

.iso ファイルを右クリック→「プログラムから開く」→「ディスクイメージライター」とすれば、簡単にライブUSB メモリを作成できます。本格的に使うときは紹介した「livecd-iso-to-disk」ツールで作成します。

  • 次は、ヘビのアイコンの「pippy」アプリでpython の勉強をしようかなと思います。

pippy サイトにサンプルプログラム があり参考になります。

-

-


目次

先頭

-


-