Ubuntuのスクリーンショット

エラーメッセージを他人に伝えるには、分かる人には逐一説明するより画面コピーが意外と便利。
Ubuntuで画面コピーする方法。

スクリーンショットとスクリーンキャスト
https://sicklylife.jp/ubuntu/1804/help/screen-shot-record.html

画面全体 PrtScr
画面中窓 Alt+PrtScr
画面一部 Shift+PrtScr

らしい。動画も撮れるみたい。

別の方法では、Terminalからコマンド叩く方法も。

Ubuntuで端末からスクリーンショットを撮る方法まとめ
https://qiita.com/yas-nyan/items/80f2db8c4bdf4c8e87b8

gnome-screenshot --view #画面全体
gnome-screenshot --window --delay=5 #5秒後に撮影(その間に窓を切り替え)


ディスプレイの解像度

Ubuntuを更新すると時々画面の大きさの設定や解像度が変わることがある。
初期化されるのかもしれない。
今回は、画面のシャープさが失われ、なんとなくモヤっとした感じで、近眼がひどくなったのかと思ったよ。
というわけで、
設定>デバイス>ディスプレイ>解像度
1366768 を選択
元に戻った。
これまで1360
768(これも同じ16:9)かと信じ込んでいたが、いろいろ試したら、今回の選択が一番キレイだった。。

なお、こちらも勉強になった。

Ubuntu 18.04 で解像度が見つからなくなったときの対処


Ubuntu:ディスプレイの解像度を変える

Ubuntuをリブートすると時々ではあるが画面の右端が切れて下がはみ出ることがある。つまり解像度がおかしくなっているのだが、「ときどき」なので再現性がない。
デスクトップで右クリックして解像度を選択するにも、選択肢が少なく、丁度よいものがない。であるのに正常に表示されることがあるのがまた不思議なのだが・・・。

調べてみたら、解像度を設定する方法がわかったのでメモ。

sudo nano /etc/default/grub

でgrub設定ファイルを開き、

GRUB_GFXMODE=1024x768

を書き加えて保存したのち、

sudo update-grub
sudo reboot now

参考
Ubuntu日本語フォーラム


UbuntuのUpdate問題ようやく解決

昨年末以来ずっと困っていた問題が漸く解決。

sudo apt update

した後に、upgradeしようとするとエラーになる問題。

:~$ sudo apt upgrade -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
click : 依存: python3-click-package (= 0.4.46+17.04.20170607.3-0ubuntu1) しかし、0.4.46+17.10.20170607.3-0ubuntu1 はインストールされています
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。

ご神託に従って、'apt --fix-broken install'を試みるも旨くいかず。

コチラを参考にaptitudeを試す。
Ubuntuで依存関係が壊れている時の対応

:~$ sudo aptitude install click
以下のパッケージが更新されます:
click
1 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、168 個が更新されていない。
アーカイブの 0 B/14.8 kB を取得する必要があります。 展開後に 0 B のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
(データベースを読み込んでいます ... 現在 284974 個のファイルとディレクトリがインストールされています。)
.../click_0.4.46+17.10.20170607.3-0ubuntu1_amd64.deb を展開する準備をしています ...
Traceback (most recent call last):
File "/usr/bin/click", line 31, in
import gi
File "/usr/lib/python3/dist-packages/gi/init.py", line 42, in
from . import _gi
ImportError: cannot import name '_gi'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/init.py", line 5, in
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in
import apt
File "/usr/lib/python3/dist-packages/apt/init.py", line 23, in
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
File "/usr/bin/click", line 31, in
import gi
File "/usr/lib/python3/dist-packages/gi/init.py", line 42, in
from . import _gi
ImportError: cannot import name '_gi'
dpkg: 警告: サブプロセス 古い pre-removal スクリプト はエラー終了ステータス 1 を返しました
dpkg: 代わりに新規パッケージからスクリプトを実行してみます ...
Traceback (most recent call last):
File "/usr/bin/click", line 31, in
import gi
File "/usr/lib/python3/dist-packages/gi/init.py", line 42, in
from . import _gi
ImportError: cannot import name '_gi'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/init.py", line 5, in
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in
import apt
File "/usr/lib/python3/dist-packages/apt/init.py", line 23, in
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
File "/usr/bin/click", line 31, in
import gi
File "/usr/lib/python3/dist-packages/gi/init.py", line 42, in
from . import _gi
ImportError: cannot import name '_gi'
dpkg: アーカイブ /var/cache/apt/archives/click_0.4.46+17.10.20170607.3-0ubuntu1_amd64.deb の処理中にエラーが発生しました (--unpack):
サブプロセス 新しい pre-removal スクリプト はエラー終了ステータス 1 を返しました
Job for click-system-hooks.service failed because the control process exited with error code.
See "systemctl status click-system-hooks.service" and "journalctl -xe" for details.
処理中にエラーが発生しました:
/var/cache/apt/archives/click_0.4.46+17.10.20170607.3-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

どうやらPythonのパッケージが見つからないというようなことをおっしゃっているらしいことは分かるのだが、対処の方法がわからない。

こちらもだめ。

:~$ emerge -1v --usepkg n dev-python/pygobject:3
コマンド 'emerge' は見つかりませんでした。もしかして:
コマンド 'esmerge' - パッケージ 'tstools' (universe)
コマンド 'fmerge' - パッケージ 'fhist' (universe)
コマンド 'merge' - パッケージ 'rcs' (universe)
コマンド 'vemerge' - パッケージ 'util-vserver' (universe)
emerge: コマンドが見つかりません

そこでエラーメッセージ、ImportError: cannot import name '_gi'で検索すると以下のページがヒット。

Gnome terminal will not start

3.6の_giライブラリを3.5にリンクすれば良いとか、同じファイルを違うバージョン名にcpすればよいなどのアイデアがある。
早速試す。

:~$ cd /usr/lib/python3/dist-packages/gi/
:/usr/lib/python3/dist-packages/gi$ sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so

で3.5のライブラリを3.6に持ってきて、

:/usr/lib/python3/dist-packages/gi$ sudo aptitude install click

を試す。すると。

以下のパッケージが更新されます:
click
1 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、168 個が更新されていない。
アーカイブの 0 B/14.8 kB を取得する必要があります。 展開後に 0 B のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]
(データベースを読み込んでいます ... 現在 284974 個のファイルとディレクトリがインストールされています。)
.../click_0.4.46+17.10.20170607.3-0ubuntu1_amd64.deb を展開する準備をしています ...
click (0.4.46+17.10.20170607.3-0ubuntu1) で (0.4.46+17.04.20170607.3-0ubuntu1 に) 上書き展開しています ...
ureadahead (0.100.0-20) のトリガを処理しています ...
click (0.4.46+17.10.20170607.3-0ubuntu1) を設定しています ...
man-db (2.7.6.1-2) のトリガを処理しています ...
shared-mime-info (1.8-1) のトリガを処理しています ...

現在の状態: 0 個 (-1) 破損, 168 個 (-1) 更新可能。

手応えあり。

:/usr/lib/python3/dist-packages/gi$ sudo apt upgrade -y

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-4.10.0-40 linux-headers-4.10.0-40-generic linux-image-4.10.0-40-generic
linux-image-extra-4.10.0-40-generic
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
linux-headers-4.13.0-32 linux-headers-4.13.0-32-generic linux-image-4.13.0-32-generic
linux-image-extra-4.13.0-32-generic
以下のパッケージは保留されます:
(中略)
以下のパッケージはアップグレードされます:
chromium-codecs-ffmpeg-extra firefox firefox-locale-en firefox-locale-ja fwupd libdfu1 libfwupd1
libgcab-1.0-0 libmysqlclient-dev libmysqlclient20 libtasn1-6 linux-firmware linux-generic
linux-headers-generic linux-image-generic linux-libc-dev openssh-client rsync
アップグレード: 18 個、新規インストール: 4 個、削除: 0 個、保留: 128 個。
159 MB のアーカイブを取得する必要があります。
この操作後に追加で 333 MB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu artful-updates/universe amd64 chromium-codecs-ffmpeg-extra amd64 63.0.3239.132-0ubuntu0.17.10.2 [1,013 kB]
・・・

という具合に進んでくれた。
第一関門通過。


UbuntuでGnuCashを使ってみる

日経Linux2月号に便利ツールとしてGnuCashという会計ソフトが掲載されていた。
存在はUbuntu Softwareでも登場するので知っていたが、単なるお小遣い帳程度のものだとバカにしていたが、タブレットでも使えるアプリがあるということだったので、少しは資金管理もしなければと思い、お試しインストール。

使ってみて驚き。

  1. 複式簿記の原理に従っている
  2. 勘定科目の設定が出来るのは当然としても、標準的な科目リストが用意されている。科目に親子関係が登録できる
  3. 残高の照合機能がある。例えば、月末の現金実在高を登録すると差額が自動計算されて調整せざるを得ない仕組みになっている。
  4. 仕訳入力の考え方が、資産ないし負債の特定項目の増減とその理由を入力するという考え方に立っているため、何が資産で何が負債なのかさえわかっていれば、後は流れで入力すれば良い。
  5. 定期的な取引や予定取引の入力にも対応
  6. マニュアルが翻訳調ではあるが日本語化されている(誤訳が多いので会計を知っているとかえって読みにくいかもしれないが)。
  7. 財務三表に限らずいろいろな帳票が出力できる。
  8. 他の会計ソフトとデータの移し替えが可能(XMLで作成されている)

お主やるな!