DIME モバイルPCスタンド - 買ってみた

肩こり対策とリモート会議の下アングルカメラ回避対策で、DIME付録のモバイルPCスタンドを買ってみました。 
価格は税込み990円です。 通常2000円前後すると思いますので、それに比べるとお手頃な価格だと思います。(ダイソーでは550円のPCスタンドが売っているようですが)

私が使っているPCは14インチノートPC(Dell Latitude 5400)で重量は1.48kgです。
乗せた感じは十分安定感があります!
キーボードを打った感じも違和感等ほとんどありません。
あえて言うなら、多少上にあるキーを打つのに感覚的な慣れは必要かな、ぐらいです。

角度は6段階まで変えられますが、1番低角度でも十分な角度がつく感じです。
おすすめです!
f:id:donchibishell:20211010153645j:plain
詳細は、DIMEのページをご覧ください。

Xubuntu 20.04.3 - Python - Pycharmインストール

XubuntuPython統合開発環境(IDE)のPycharmをインストールしました。
フリーのCommunity Edtionを導入しています。
ちょっとした業務効率のツール作成する際に重宝しています。

1. Pycharmインストール

以下コマンドにてPycharmをインストールします。

$ sudo snap install pycharm-community --classic
pycharm-community 2021.2.2 from jetbrains✓ installed

2. Anaconda仮想環境の作成

Anacondaのインストールはこちらをご覧ください。

事前にAnacondaの仮想環境を作成しておきます。

2-1. py38_trainingという名前の仮想環境を作成
$ conda create -n py38_training python=3.8
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/donchibishell/anaconda3/envs/py38_training

  added / updated specs:
    - python=3.8


The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
  ca-certificates    pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
  certifi            pkgs/main/linux-64::certifi-2021.5.30-py38h06a4308_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
  libgomp            pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.1.1l-h7f8727e_0
  pip                pkgs/main/linux-64::pip-21.0.1-py38h06a4308_0
  python             pkgs/main/linux-64::python-3.8.11-h12debd9_0_cpython
  readline           pkgs/main/linux-64::readline-8.1-h27cfd23_0
  setuptools         pkgs/main/linux-64::setuptools-58.0.4-py38h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
  tk                 pkgs/main/linux-64::tk-8.6.11-h1ccaba5_0
  wheel              pkgs/main/noarch::wheel-0.37.0-pyhd3eb1b0_1
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
2-2. 「y」を入力
Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate py38_training
#
# To deactivate an active environment, use
#
#     $ conda deactivate
2-3. 作成した仮想環境を確認
$ conda env list
# conda environments:
#
base                  *  /home/donchibishell/anaconda3
py38_training            /home/donchibishell/anaconda3/envs/py38_training

3. Pycharm起動

f:id:donchibishell:20211005134630j:plain f:id:donchibishell:20211005140518j:plain f:id:donchibishell:20211005140532j:plain

4. プロジェクト作成

4-1. 「Net Project」をクリック

f:id:donchibishell:20211005140823j:plain

4-2. プロジェクトフォルダ、仮想環境「py38_training」を指定 → プロジェクト作成

f:id:donchibishell:20211005141218j:plain f:id:donchibishell:20211005141635j:plain f:id:donchibishell:20211005141645j:plain

4. Pycharm起動後の確認

「Terminal」タブをクリック→プロンプトが仮想環境名「py38_training」であることを確認する。
f:id:donchibishell:20211005142253j:plain

5. 簡単なPythonスクリプトの実行

5-1. Pythonファイルを作成

f:id:donchibishell:20211005142736j:plain f:id:donchibishell:20211005143400j:plain

5-2. スクリプトを記載

f:id:donchibishell:20211005143413j:plain
記載したコード

import platform
print('Hello Python!')
print(platform.system())
print(platform.version())
print(platform.release())
5-3. スクリプトの実行

f:id:donchibishell:20211005143804j:plain f:id:donchibishell:20211005143812j:plain
以下はスクリプトの実行結果です。
f:id:donchibishell:20211005143829j:plain

Xubuntu 20.04.3 - Python - Anacondaインストール

XubuntuにAnacondaをインストールしたので備忘録として記載します。

1. Anacondaのダウンロード

こちらのサイトよりAnaconda Indivisual Edtionをダウンロードします。 ページの一番下にダウンロードリンクがあります。 f:id:donchibishell:20210930182244j:plain

2. インストールファイルの実行

ダウンロードファイル:Anaconda3-2021.05-Linux-x86_64.sh

$cd ~
$cd Downloads/
$chmod 755 Anaconda3-2021.05-Linux-x86_64.sh 
$./Anaconda3-2021.05-Linux-x86_64.sh 

2-1. エンター入力

$./Anaconda3-2021.05-Linux-x86_64.sh 

Welcome to Anaconda3 2021.05

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue 
>>> 

2-2. スペースで最後行まで表示し、「yes」を入力

===================================
End User License Agreement - Anaconda Individual Edition
===================================

Copyright 2015-2021, Anaconda, Inc.

All rights reserved under the 3-clause BSD License:
・・・
・・・
Do you accept the license terms? [yes|no]
[no] >>> yes

2-3. ホームディレクトリ以下にインストールOKなので、そのままエンター入力

Anaconda3 will now be installed into this location:
/home/donchibishell/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/donchibishell/anaconda3] >>> 

2-4. インストールが完了し、初期化するか聞いてくるので「yes」を選択

・・・
・・・
Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes

2-5. 以下メッセージが表示され、インストール完了

===========================================================================

Working with Python and Jupyter notebooks is a breeze with PyCharm Pro,
designed to be used with Anaconda. Download now and have the best data
tools at your fingertips.

PyCharm Pro for Anaconda is available at: https://www.anaconda.com/pycharm

3. anaconda-navigatorの起動

$anaconda-navigator 

anaconda-navigatorは、GUI画面からパッケージ管理等を行うことができる。 f:id:donchibishell:20210930214420j:plain

4. コマンド:conda info

Anacondaのバージョン、環境情報を表示する。

$conda info

     active environment : base
    active env location : /home/donchibishell/anaconda3
            shell level : 1
       user config file : /home/donchibishell/.condarc
 populated config files : /home/donchibishell/.condarc
          conda version : 4.10.1
    conda-build version : 3.21.4
         python version : 3.8.8.final.0
       virtual packages : __linux=5.11.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/donchibishell/anaconda3  (writable)
      conda av data dir : /home/donchibishell/anaconda3/etc/conda
  conda av metadata url : https://repo.anaconda.com/pkgs/main
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/donchibishell/anaconda3/pkgs
                          /home/donchibishell/.conda/pkgs
       envs directories : /home/donchibishell/anaconda3/envs
                          /home/donchibishell/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.1 requests/2.25.1 CPython/3.8.8 Linux/5.11.0-36-generic ubuntu/20.04.3 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

5. コマンド:conda update conda

Anaconda本体をバージョンアップするらしい。
conda update anaconda = 2019.10 の書き方もできるらしい。
以下実行してみた結果。

$conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/donchibishell/anaconda3

  added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.10.3               |   py38h06a4308_0         2.9 MB
    xmltodict-0.12.0           |     pyhd3eb1b0_0          13 KB
    ------------------------------------------------------------
                                           Total:         2.9 MB

The following packages will be UPDATED:

  conda                               4.10.1-py38h06a4308_1 --> 4.10.3-py38h06a4308_0

The following packages will be DOWNGRADED:

  xmltodict                                     0.12.0-py_0 --> 0.12.0-pyhd3eb1b0_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
conda-4.10.3         | 2.9 MB    | ##################################################### | 100% 
xmltodict-0.12.0     | 13 KB     | ##################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

6. コマンド:conda update --all

現在の環境のすべてのパッケージが最新バージョンに更新されます。
実行したら数多くのパッケージが更新された。

Xubuntu 20.04.3 - Btrfsファイルシステム - btrbkでスナップショット取得

Xubuntuをインストールする際にスナップショットを取得できるBtrfsを選択できたので、自宅PCでしばらく使ってみました。Timeshiftと組み合わせることで自動スナップショットが取得され、TimeshiftのGUI管理画面からお手軽に指定スナップショット時点にロールバックできることから非常に重宝していたのですが。。

ある時、余ったハードディスクを「btrfs device add」コマンドでBtrfsに追加したところ、Btrfsの領域は拡張されたのですが、Timeshiftからエラーが出力されスナップショットの管理ができなくなりました。。😰

結局、OSを再インストールしたり、Btrfsのスナップショット管理ができるいくつかのソフトウェアを試したりして、結果btrbkに落ち着きました。

btrbk導入の備忘録を以下に記載します。

 

導入の要件

  • (必須)Btrfsを使う
  • /(ルート)をスナップショットから戻せること
  • 自動でスナップショットを取得してくれる機能があること
  • Clonezillaで復元できるディスク・ファイルシステム構成であること

Btrfs構成

Clonezillaで個別に復元できるよう2つハードディスクは以下のように使い分けるようにしました。

  • HDD1:/(root)用ディスク
    /(root)パーテーション:sda2
  • HDD2:/home用ディスク
    /homeパーテーション:sdb1

Btrfsのサブボリューム構成は以下の通りです。

  • /(root)パーテーション(sda2)のサブボリューム
    • @:ルート用サブボリューム
    • @rootsnap:ルートスナップショット用サブボリューム
    • @swap:スワップファイル用サブボリューム
  • /homeパーテーション(sdb1)のサブボリューム
    • @:/home用サブボリューム
    • @homesnap:/homeスナップショット用サブボリューム

# ソースサブボリュームとスナップショットサブボリュームを同じ階層に作成しないと/(root)パーテーションを過去のスナップショットに戻すことができなったので上記構成としました。

スナップショット管理ソフトウェア:btrbk

ソースサブボリュームとスナップショット領域を同じ階層に作成可能なbtrbkを利用することにしました。(その他、Timeshift、snapper、apt-btrfs-snapshotも試してみたのですが、要件にあったのはbtrbkでした。ちょっと使ってみた感じではありますが。。)

 

btrbkインストール

1. btrbkパッケージのインストール

$ sudo apt install btrbk

 

2. サブボリュームの作成

@と@homeのサブボリュームは、Xubuntuのインストール時にbtrfsを指定することで自動設定されています。ここでは、@rootsnapと@homesnapの設定をしています。

Btrfsへのスワップファイルの作成については、こちらを参考に作成しました。

現在のサブボリューム構成は以下となります。

$ sudo btrfs subvolume list -p /
ID 267 gen 6249 parent 5 top level 5 path @swap
ID 375 gen 7415 parent 5 top level 5 path @

 

@と同じtop level 5で@rootsnapを作成するために1つ上の階層でマウント→@rootsnapサブボリュームを作成します。

$ cd /mnt
$ sudo mkdir btr_root
$ sudo mount /dev/sda2 -t btrfs -o subvolid=0 /mnt/btr_root
$ ls /mnt/btr_root
@ @swap

$ cd /mnt/btr_root
$ sudo btrfs subvolume create @rootsnap
Create subvolume './@rootsnap'

$ sudo btrfs subvolume list -p /
ID 267 gen 6249 parent 5 top level 5 path @swap
ID 367 gen 7354 parent 5 top level 5 path @rootsnap
ID 375 gen 7423 parent 5 top level 5 path @

 

同様に/home側もサブボリュームを作成します

$ cd /mnt
$ sudo mkdir btr_home
$ sudo mount /dev/sdb1 -t btrfs -o subvolid=0 /mnt/btr_home
$ ls /mnt/btr_home
@home

$ cd /mnt/btr_home
$ sudo btrfs subvolume create @home
Create subvolume './@home'

$ sudo btrfs subvolume list -p /home
ID 256 gen 2663 parent 5 top level 5 path @home
ID 389 gen 2530 parent 5 top level 5 path @homesnap

3. fstabへの追加

/etc/fstabに以下を追加します。



UUID=ad4975b1-c07b-4e34-a1b7-24e3f1c8a584 /mnt/btr_root               btrfs   defaults,subvolid=0 0 
UUID=7c737a94-3779-4d71-b397-a8c14a959dc7 /mnt/btr_home           btrfs   defaults,subvolid=0 0 

 

4. btrbk設定ファイルの作成

私は、btrbk設定は以下のようにしました。

/etc/btrbk/btrbk.conf

transaction_log            /var/log/btrbk.log
snapshot_preserve_min   2d
snapshot_preserve       14d 4w 6m
timestamp_format    long
volume /mnt/btr_root
  subvolume @
    snapshot_dir             @rootsnap
volume /mnt/btr_home
  subvolume @home
    snapshot_dir             @homesnap

※詳細は、コマンド:$ man btrbk.confをご覧ください。

5. スナップショット作成

$ sudo btrbk run
--------------------------------------------------------------------------------
Backup Summary (btrbk command line client, version 0.27.1)

    Date:   Tue Sep 28 15:13:28 2021
    Config: /etc/btrbk/btrbk.conf

Legend:
=== up-to-date subvolume (source snapshot)
+++ created subvolume (source snapshot)
--- deleted subvolume
*** received subvolume (non-incremental)
>>> received subvolume (incremental)
--------------------------------------------------------------------------------
/mnt/btr_root/@
+++ /mnt/btr_root/@rootsnap/@.20210928T1513_1

/mnt/btr_home/@home
+++ /mnt/btr_home/@homesnap/@home.20210928T1513_1

6. btrbkサービス有効化

/lib/systemd/system/btrbk.timer
OnCalendar=daily → OnCalendar=hourly 修正してから実行しました。

$ sudo systemctl start btrbk.timer
$ sudo systemctl enable btrbk.timer
Created symlink /etc/systemd/system/multi-user.target.wants/btrbk.timer → /lib/systemd/system/btrbk.timer.

 

7. 取得されたスナップショット一覧表示

# sudo btrbk list snapshots
source_host source_subvol snapshot_subvol status target_host target_subvol
----------- ------------------- --------------------------------------------- ------ ----------- -------------
- /mnt/btr_root/@ /mnt/btr_root/@rootsnap/@.20210928T1353 - - -
- /mnt/btr_home/@home /mnt/btr_home/@homesnap/@home.20210928T1353 - - -

Xubuntu 20.04.3 - 翻訳ソフト - Crow Translate

自宅PCのXubuntuに翻訳ソフト「Crow Translate」を入れてみたのでその備忘録です。

  • Terminalから以下コマンドを実行し「Crow Translate」をインストールする。
sudo apt install crow-translate
  • パネルに「Crow Translate」のアイコンが表示されます。
    左クリック→「Settings」を選択する。

f:id:donchibishell:20210927144928j:plain

  • 「General」→以下すべてチェックする。 f:id:donchibishell:20210927145910j:plain

  • 「Shortcuts」→「Translate selected text」のショートカットを設定する。(私の場合は「Alt+A」) f:id:donchibishell:20210927150257j:plain

  • 「Settings」画面を「OK」で閉じる。

  • テキストを選択し、ショートカット「Alt+A」(私の場合)で翻訳された画面がポップアップ表示される。 f:id:donchibishell:20210927150738j:plain