2021年8月14日 (土)

メールソフト変更 ShurikenからThunderbirdへ

Mailer

ここ数年はジャストシステムのShuriken 2018というメールソフトを愛用していました。

これは一太郎プレミアムを購入した時におまけで付いてきたものですが、意外と使い勝手が良かったのです。

特に気に入っていたのは、地味にフォルダの色分けが出来ることとか、ファイルの仕分けが簡単とかですが、直感的に使いやすいと感じていました。

しかし、最近、HTML形式のメールが圧倒的に増えて、画像表示がうまくいかないことが多くなりました。

何が原因か分かりませんが、おそらくHTML表示のエンジンが古くて、新しいものに対応出来ていないようです。

特定のメールで表示が信じられないほど重かったり、とあるショップのメールは全く表示されない事態になってしまいました。これでは使えませんね。

昔はメールはテキスト主体で送るのがマナーと言われていたような気もしますが、最近はそんなことを言う人はいませんね。

スマホですら画像がバリバリのメールが当たり前ですから。

 

というわけで、残念ですがShurikenには引退してもらうことに。

代わりのメーラーとしては、以前使っていたThunderbirdに戻ってきました。

Outlookは会社で使っているからなんとなくパスです。

Thunderbirdは基本無料ですが、使ってみて満足ならば、きちんと寄付をしようと思います。

 

この移行で少し悩んだのは、メールの移行でした。

私は基本的に過去メールを保存するタイプなので、全て消えてしまうのは困ります。

かと言って、2つもメーラーを使い分けるのも面倒。

出来れば、そっくり移植したい。

しかし、ネットで調べても中々、答が見つからず。

Thunderbirdのインポート機能はBeckyとOutlookにしか対応していないようなのです。

メールをインポートするアドオンソフトもバージョン違いとかで、使えず。(Thunderboltのバージョンは最新の91でした)

 

試行錯誤の後、フォルダ単位なら移植できることが分かりました。

まず、Shuriken側でエクスポートしたいフォルダを選んで、「エクスポート」を選びます。

適当な空の保存先フォルダを選んで、データ形式は「1ファイルに1メール(eml)」を選びます。

Shuriken

これを実行すると、保存先フォルダに、メールの数だけファイルが出来ます。数千件とか出来たりしますが、辛抱して待っていれば終了します。

次に、あらかじめインストールしておいたThunderbirdを起動し、これらのファイルを宛先フォルダにドラッグドロップするわけです。

これでうまくいきました。

移動のつもりでも、動作はコピーになりますので、無事にコピーできたら、一時保存のファイルの全て消します。

この繰り返しでなんとかなりそうです。

手間はかかりますが、全て移行できそうです。

流石にThunderbirdでの画像表示は圧倒的に高速でした。

 

追伸

結局、安定版の78.13に変更しました。今のところ、こちらの方が良さそうです。

 

2021年5月29日 (土)

Conkyのカスタマイズ その4

20210529

Conkyは下手に凝っていじりだすと、時間を忘れて大変なことになるので、とりあえず完成させます。

1.sensorsの実行

当初の重要な目的であった、CPU温度とCPUファンの回転速度をモニターするためには、

Conkyからsensorsを実行して結果を読みこんでやる必要があります。

sensorsは、最近のMintには標準で入っていると思います。しかし、初期は、センサー情報を正しく読み込んでいないので、一度、センサー情報を取得します。

$ sudo sensors-detect

と実行。

数回、質問されますが、基本的にはリターンキーを押すと、大文字で書かれた答えがデフォルトとして入力されます。(YES/no)であれば、デフォルトはYESです。

しかし、以下の質問に対してだけは、デフォルトがNOになっていますので、必ず、YESと入力します。

Do you want to add these lines automatically to /etc/modules? (yes/NO)

Successful!

と表示されれば、OK。

再起動後から、モジュールがロードされ、sensorsコマンドが有効になります。

sensorsコマンドを入力して、以下のようにすべての情報が表示されればOKです。

hogehoge@MS-7B86:~$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tdie: +44.1°C (high = +70.0°C)
Tctl: +44.1°C

nct6797-isa-0a20
Adapter: ISA adapter
in0: 464.00 mV (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.41 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1000.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in5: 144.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 744.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.25 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 1.83 V (min = +0.00 V, max = +0.00 V) ALARM
in10: 0.00 V (min = +0.00 V, max = +0.00 V)
in11: 672.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.05 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 672.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.54 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 0 RPM (min = 0 RPM)
fan2: 817 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan6: 708 RPM (min = 0 RPM)
SYSTIN: -3.0°C (high = +80.0°C, hyst = +75.0°C) sensor = CPU diode
CPUTIN: +42.0°C (high = +115.0°C, hyst = +90.0°C) sensor = thermistor
AUXTIN0: +40.5°C (high = +115.0°C, hyst = +90.0°C) sensor = thermistor
AUXTIN1: -128.0°C sensor = thermistor
AUXTIN2: +44.0°C sensor = thermistor
AUXTIN3: -3.0°C sensor = thermistor
SMBUSMASTER 0: +44.0°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: ALARM
beep_enable: disabled

この中から、BIOS情報などを参考にCPU温度とCPUファンの情報が何行目にあるか、あたりをつけます。

この例でいえば、CPU温度は、CPUTIN:、CPUファン回転速度は、fan2:のキーのところに表示されていると推測できます。

このキーワードは後で使用します。

2.HDDTEMPの実行

次は、HDDの温度です。

HDDの温度の取得は、そのまんまhddtempというプログラムを使います。これも標準でインストールされています。

hogehoge@MS-7B86:~$ sudo hddtemp /dev/sda
/dev/sda: CT120BX500SSD1: 41°C

のように使います。

なぜか、hddtempはroot権限が必要なので、誰でも実行できるように、SUID(Set User ID)の指定を行います。

sudo chmod u+s /usr/sbin/hddtemp

で指定可能です。

ちなみに接続されているディスク名一覧を表示するには、

sudo fdisk -l

と入力します。

3..conkyrcへの記述

次に実際にセンサー温度などを表示する記述方法を示します。コマンドとしては以下のようになります。

${execi 1 sensors | grep 'CPUTIN' | cut -c 26-32}

ここでexeciは、一定のインターバルでシェルコマンドを実行し、出力をConkyに表示するものです。

execi interval command

の構文です。

上記の例で言えば、

intervalは、1(s)

commandは、sensors | grep 'CPUTIN' | cut -c 26-32

になります。

シェルコマンドの詳細は解説サイトなどを参照していただくとして、

この意味は、1秒ごとにsensorsを実行して出力される複数行の中から、'CPUTIN'の文字列が含まれる行のみを選択し、26文字目から32文字目までの文字列を出力することです。

hddtempも全く同じように記述できます。hddtempの場合は、出力が1行ですから、grepは不要です。

ここまで理解できると、あとはひたすらプログラムしていくだけです。Conkyの変数一覧は常に参照しましょう。

参考までに自分の環境例をさらしておきます。

基本的にシェルコマンドが使えますから、いろいろな応用ができそうです。

conky.config = {
alignment = 'bottom_right',
background = true,
border_width = 1,
cpu_avg_samples = 12,
default_color = 'grey',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
double_buffer = true,
use_xft = true,
font = 'TNoto Sans CJK JP:style=Regular:size=10',
gap_x = 5,
gap_y = 5,
minimum_height = 5,
minimum_width = 225,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_argb_visual = true,
own_window_colour = 'black',
own_window_argb_value = 200,
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}

conky.text = [[
$alignc conky ver ${conky_version}
$alignc$nodename - $sysname $kernel
${hr 1}
$alignc${color orange}${font Noto Sans Display:style=Bold Italic:size=28}${time %k:%M:%S}${font TNoto Sans CJK JP: size=12}
$alignc${color white}${time %Y/%m/%d (%a)}${font}
$color${hr 1}
CPU USAGE: ${color lightgreen} $alignr$freq(MHz)
${color}$alignc 01 ${cpugraph cpu1 13,85 ffaa00 ffaa00} ${color} 07 ${cpugraph cpu7 13,85 ffaa00 ffaa00}
${color}$alignc 02 ${cpugraph cpu2 13,85 ffaa00 ffaa00} ${color} 08 ${cpugraph cpu8 13,85 ffaa00 ffaa00}
${color}$alignc 03 ${cpugraph cpu3 13,85 ffaa00 ffaa00} ${color} 09 ${cpugraph cpu9 13,85 ffaa00 ffaa00}
${color}$alignc 04 ${cpugraph cpu4 13,85 ffaa00 ffaa00} ${color} 10 ${cpugraph cpu10 13,85 ffaa00 ffaa00}
${color}$alignc 05 ${cpugraph cpu5 13,85 ffaa00 ffaa00} ${color} 11 ${cpugraph cpu11 13,85 ffaa00 ffaa00}
${color}$alignc 06 ${cpugraph cpu6 13,85 ffaa00 ffaa00} ${color} 12 ${cpugraph cpu12 13,85 ffaa00 ffaa00}
${color}${alignr}Processes:${color lightgreen} $processes ${color}Running:${color lightgreen} $running_processes$color
${color}${alignr}Uptime:${color lightgreen} $uptime
$color${hr 1}
#${color grey}Vcore Voltage:$color $alignr${execi 1 sensors | grep 'Vcore Voltage' | cut -c 22-28}
Temperatute:
CPU:${color lightgreen} $alignr${execi 1 sensors | grep 'CPUTIN' | cut -c 26-32}
${color} M/B:${color lightgreen} $alignr${execi 1 sensors | grep 'AUXTIN0' | cut -c 26-32}
${color} SSD:${color lightgreen} $alignr${execi 1 hddtemp /dev/sda1 | cut -c 27-32}
${color} HDD:${color lightgreen} $alignr${execi 1 hddtemp /dev/sdb1 | cut -c 31-36}
${color}${hr 1}
FAN Speed:
CPU:${color lightgreen} $alignr${execi 1 sensors | grep 'fan2' | cut -c 20-31}
${color} Chassis:${color lightgreen} $alignr${execi 1 sensors | grep 'fan6' | cut -c 20-31}
$color${hr 1}
Memory:
${color lightgreen} $mem/$memmax - $memperc% $color${membar 10}
#${color}Swap U:${color lightgreen} $swap/$swapmax - $swapperc% ${swapbar 10}
$color${hr 1}
Disk:
SSD ${color lightgreen}${fs_used /}/${fs_size /} $color${fs_bar 10 /}
${color}HDD ${color lightgreen}${fs_used /hdd2}/${fs_size /hdd2} $color${fs_bar 10 /hdd2}
${color}DIO(SSD):${color lightgreen}${diskio /dev/sda} ${color}${alignr}DIO(HDD):${color lightgreen}${diskio /dev/sdb}
${color}${diskiograph /dev/sda 25,110 00aa00 ffff7f -t} ${alignr}${diskiograph /dev/sdb 25,110 00aa00 ffff7f -t}
$color$hr
Networking:
Up:${color lightgreen} ${upspeed enp34s0} ${color}${alignr}Down:${color lightgreen} ${downspeed enp34s0}
${color}${upspeedgraph enp34s0 25,110 00aa00 ffff7f -t} ${alignr}${downspeedgraph enp34s0 25,110 00aa00 ffff7f -t}
Up total: ${color lightgreen}${totalup enp34s0}${color}${alignr}Dn total: ${color lightgreen}${totaldown enp34s0}
$color${hr 1}
GPU Temp:${color lightgreen} $alignr${nvidia temp}℃
${color}GPU Freq:${color lightgreen} $alignr${nvidia gpufreq}MHz
$color${hr 1}
Top5 Processes:(CPU% MEM%)
${top name 1} ${top cpu 1} ${top mem 1}
${top name 2} ${top cpu 2} ${top mem 2}
${top name 3} ${top cpu 3} ${top mem 3}
${top name 4} ${top cpu 4} ${top mem 4}
${top name 5} ${top cpu 5} ${top mem 5}
]]

それから、この中で何度も登場するカラーの指定には、16進数コードを使用しますが、KColorChooserがとにかく便利なので、インストールをおすすめします。

Kcolorchooser

 

 

2021年5月23日 (日)

Conkyのカスタマイズ その3

実際に表示する内容についてカスタマイズを行います。

.conkyrcの

conky.text = [[

  ︙

 ]]

内を編集します。

この内部は、基本的に関数と文字列が並んでいるが、$で始まるのが関数で、引数を伴う場合、{}で括られると考えると良いです。

$がついていないものは、実際に表示される文字列で、スペースや改行コードもそのまま含まれます。

関数はネストも可能で、引数がついていない場合は、デフォルト値が返されます。なので、一見、変数のように見えてしまいますが、実は全て関数のようです。

このあたりが、自分としては最初わかりにくかったです。

関数一覧はここにありますが、説明はミニマムなのでいろいろ試してみるしかなさそうです。

サンプルのconky.textはこのようになっています。

わかりやすくするために、着色してみました。(関数:青太字、引数:赤、文字列:緑下線付き)

conky.text = [[
${scroll 16 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color${downspeed eth0}
$hr
${color grey}Name PID CPU% MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

ここで特に気をつけたいのが、スペースの扱いです。引数の間にある区切りスペース以外はすべて表示のスペースです。これがとにかく紛らわしいと思いました。

特に2行目の関数$scrollは、引数として、[長さ]と[テキスト]の2つを持つが、2つ目の引数の中にスペースが入り込んでいて、区切りなのか、表示の文字列なのか非常に分かりにくい状態になっています。

頻繁に出てくる$colorは

引数なしの場合は、

$color

で、conky.configで指定したデフォルトのカラーが指定される。以下、次の$colorがでてくるまで、固定。

引数ありの場合は、{}をつけて

${color 'color'}

になります。

さて、ここまで分かると、あとは、自由にカスタマイズすれば良いわけですが、サンプルのコードでは、ネットワークのデバイスがeth0になっていて、うちの環境では正しく表示されていません。

このような場合は、ifconfigでネットワークデバイス名を確認すると良いようです。

hogehoge@MS-7B86:~$ ifconfig
enp34s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

このPCの場合は、ネットワークデバイス名は、enp34s0だそうです。

eth0のところを書き換えれば、表示されるようになりました。

2021年5月16日 (日)

Conkyのカスタマイズ その2

.conkyrcを編集します。

.conkyrcは隠しファイルなのですが、端末で下記のように入力すれば編集できます。

$xed .conkyrc

このファイルは、設定に関するブロックが2つに分かれていて、

conky.config = {

}

conky.text = [[

]]

です。

前半config部は全般に関係するエリア、後半text部は実際に表示される内容についてのエリアになります。

configの部分のオリジナルは、以下です。

conky.config = {
alignment = 'top_left',
background = false,
border_width = 1,
cpu_avg_samples = 2,
default_color = 'white',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans Mono:size=12',
gap_x = 5,
gap_y = 60,
minimum_height = 5,
minimum_width = 5,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}

 

これを以下のように書き換えてみましょう。
保存すると、すぐに結果が反映されます。

conky.config = {
alignment = 'top_right',
background = true,
border_width = 1,
cpu_avg_samples = 6,
default_color = 'white',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
double_buffer = true,
use_xft = true,
font = 'TNoto Sans CJK JP:style=Regular:size=10',
gap_x = 20,
gap_y = 20,
minimum_height = 5,
minimum_width = 300,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_argb_visual = true,
own_window_colour = 'black',
own_window_argb_value = 150,
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}

解説

alignment は、表示の位置です。
画面右上は、'top_right'、画面右下ならば、'bottom_right'です。

background はバックグランド処理なので、trueにしておきます。

cpu_avg_samples にはCPUのコア数をいれます。

default_color は、全体の標準カラー。 white, yellow, blue, skyblue, cyan, green, lightgreen, orange, pink, magenta などなど。以下、カラー関係にこれらの指定が使えます。

double_buffer の行は追加します。これをtrueにすると、チラツキが抑えられます。 

font はデフォルトで使われるフォントとして、お好きなものを指定します。'フォント名:style=Regular:size=10'

gap_x, gap_yは、表示開始のピクセル座標です。alignmentで指定した位置を基準に相対位置を指定します。プラスならば、画面中心に向かってオフセットします。分かりにくいのが2画面表示の場合。alignment='top_right'だけでは、左のディスプレイに表示されます。右のディスプレイに表示させたい場合は、gap_xにマイナス値を指定する必要があります。このへんの調整は実際に試してみると分かると思います。

minimum_height, minimum_widthは、表示内容がなくなった場合に、どこまでサイズを小さくするかを指定します。大きさがコロコロ変わると目障りなので、大きめの値を入れておくと良いと思います。

own_window_argb_visual 以降の行は透過表示をしたい場合、追加します。

own_window_colour はウィンドウの色

own_window_argb_value は透過度合いです。0にすると、完全透過、値を大きくすると、透過しなくなります。適当に調整してください。

 

 

 

2021年5月12日 (水)

Conkyのカスタマイズ その1

Conkyでは、専用の設定ファイルを作成して編集します。

まず、端末から

$ conky -h

と打ってみましょう。

hogehoge@MS-7B86:~$ conky -h
Usage: conky [OPTION]...
conky is a system monitor that renders text on desktop or to own transparent
window. Command line options will override configurations defined in config
file.
-v, --version version
-q, --quiet quiet mode
-D, --debug increase debugging output, ie. -DD for more debugging
-c, --config=FILE config file to load
-C, --print-config print the builtin default config to stdout
e.g. 'conky -C > ~/.conkyrc' will create a new default config
-d, --daemonize daemonize, fork to background
-h, --help help
-a, --alignment=ALIGNMENT text alignment on screen, {top,bottom,middle}_{left,right,middle}
-f, --font=FONT font to use
-X, --display=DISPLAY X11 display to use
-o, --own-window create own window to draw
-b, --double-buffer double buffer (prevents flickering)
-w, --window-id=WIN_ID window id to draw
-x X x position
-y Y y position
-t, --text=TEXT text to render, remember single quotes, like -t '$uptime'
-u, --interval=SECS update interval
-i COUNT number of times to update conky (and quit)
-p, --pause=SECS pause for SECS seconds at startup before doing anything

次に、バージョン情報を得るために、

conky -v

と打ちます。

すると、以下の情報が得られます。

 

conky 1.10.8 compiled Mon Mar 23 06:55:27 UTC 2020 for Linux 4.4.0-176-generic x86_64

Compiled in features:

System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky


General:
* math
* hddtemp
* portmon
* IPv6
* Curl
* RSS
* Weather (METAR)
* Weather (XOAP)
* wireless
* support for IBM/Lenovo notebooks
* nvidia
* eve-online
* builtin default configuration
* old configuration syntax
* Imlib2
* apcupsd
* iostats
* ncurses
* Internationalization support
* PulseAudio

Lua bindings:
* Cairo
* Imlib2
* RSVG
X11:
* Xdamage extension
* Xinerama extension (virtual display)
* Xshape extension (click through)
* XDBE (double buffer extension)
* Xft
* ARGB visual
* Own window

Music detection:
* Audacious
* MPD
* MOC
* XMMS2

Default values:
* Netdevice: eth0
* Local configfile: $HOME/.conkyrc
* Localedir: /usr/share/locale
* Maximum netdevices: 64
* Maximum text size: 16384
* Size text buffer: 256

最後のグループの、

Default values のところに、

Local configfile: $HOME/.conkyrc

とあります。

標準では、このファイルを個人用の設定ファイルとして使うようです。

ちなみに、ドット(.)で始まるファイルは、隠しファイルです。

どうして隠しファイルにする必要があるのでしょうか。

このあたりが、まだ私にはよくわかりません。

デフォルトの.conkyrcファイルを作るには、Helpに書いてあったように、

conky -C > ~/.conkyrc

と入力します。

次からは、このファイルを編集します。

 

2021年5月 9日 (日)

Linux MintへConkyを導入

今年のGWはどこにも行かずにPCばかり触っていました。

さて、Linuxをインストールしたら、何はなくとも導入したいのがConkyです。公式サイトはこちら

Conkyは、いわゆるシステムモニターですが、基本テキストベースのため軽量で、ユーザーが自由にカスタマイズできるので、本当に便利なツールです。

ただし、カスタマイズできると言っても、そのためには基本的な知識が必要になり、それを通して勉強にもなるため、すべてのLinuxユーザーにお勧めできると思います。

 

本ツールでやりたいこと

  • CPUの負荷率、温度をモニターしたい
  • CPUファンの回転数をモニターしたい
  • ネットワークの速度をモニターしたい
  • HDDの使用量をモニターしたい

などでしょうか。

他にもシステムモニターツールはいろいろあるでしょうが、かゆいところに手が届かない感じ、むしろ、Conkyがデファクトスタンダード的な立ち位置で、これが一番ではないかと個人的には思っています。

Conkyimage

Linux Mintでのインストールは簡単で、メニュー「ソフトウエアの管理」−「アクセサリ」の中からConky-allを選んでインストールします。

Conky_install

起動は、

$ conky

です。

起動したら、デスクトップの左上にサンプル設定内容で表示されます。

Conkydefsample

一部情報が正しく読み込まれていないところもありますが、一応、動いています。まずは成功です。

ただし、先程の起動方法では、端末が専有されたままになるため、

$ conky -d

とデーモンで起動するのが良いです。

また、終了は

$ killall conky

です。

 

次に、自動起動のやり方です。

毎回、手動で起動させるのは大変なので、Linux起動時に自動的に起動させるようにします。

メニュー「設定」−「自動起動させるアプリケーション」で追加ボタンを押して

このように記入すればOKです。

Conky_auto

なお、起動遅延時間は、トラブル防止のために、15秒ほど入れておくのが良いそうです。

再起動したら、自動起動するはずです。

 

 

2021年5月 8日 (土)

BIOSアップデートは慎重に

メインPCのマザーボードは、MSI製MPG X570 GAMING PLUSです。

1年以上、BIOSアップデートしていないなと思っていて、検索してみたところ、最新版で Improved USB device compatibility というのが上がっていました。

BIOS Version : 7C37vAD2 ダウンロード元

AMDの500系マザーでUSB接続が切れる問題が解消という記事をみていたので、これはやっておいたほうが良いかなと。

自分の場合、これと直接関係あるかどうかわかりませんが、USB接続のHDDにWindowsのバックアップを取ろうとして、大量のファイルを書き込む時にうまくいかなかったことがありましたので、少し気にはしていたのです。

一般的に、BIOSアップデートは問題がない場合にはやるなと言われています。最悪、壊れてしまうのだと。

この鉄則があるので、今回も慎重にやればよかったのですが・・・。

 

今回、軽い気持ちでWindows上から、MSI謹製のツール、Dragon Centerの仰せのままに、BIOSダウンロードから再起動、とやったところで問題発生。

前回はうまくいったのにね。

再起動して画面が表示されるべきところが、何分待っても表示されません。

電源は入っていて、ファンはブンブン回っているのに。

久々のやっちまった〜、でした。

 

こういう時は、気を取り直して、焦らずに対処することが肝心です。

サブマシン(こういう時に2台あると便利)でBIOSファイルをダウンロードして、USBメモリーにコピーして。

マザーボードのCMOSクリアジャンパー(ボタン電池のすぐ隣)を接続して、CMOSクリアすると無事に再起動に成功。

BIOSメニューのM-FlashからBIOSアップデート画面に移行できました。\(^o^)/

Dsc01816

 

実は、起動しなくなった時に、Flash BIOSボタンなるものの存在を思い出して、これを試してみたところ、反応がなかったのです。

マニュアルなどによると、この機能はマザーボードに何もつけずに電源だけつないで行わなければならないようで、流石にCPUまで外すのはね。

今回の教訓として、

  • 問題がなければ、BIOSアップデートはするな。(今回はやや懸念ありでしたが)
  • BIOSアップデートは横着せずにUSBメモリーを作成してBIOS上からやるべし。

でした。

次回から気をつけよう。

 

 

 

2021年5月 7日 (金)

Linux ディレクトリ構造の勉強

Windowsに慣れていると、Linuxはやはり難しいOSと思う。

例えば、Windowsの場合は、実行ファイル(*.exe)をどこに置いても基本的には動かせるし、データの置き場所も自由に設定できる。

これがシステムをおかしくする原因でもあるのだろうけど、直感的にわかりやすい。

また、インストールしたアプリケーションのファイル群がどこに保管されているかも比較的よくわかるようになっている。

対して、Linuxは、/home はWindowsでのc:\users相当だなという事はわかるけど、あとは詳しいところがよくわかりません、というのが現状。

 

これを機会にもう少し知りたいと思い、調べてみました。

Linuxでは、ディレクトリ構造がきちんと定義されていて、どのディストリビュータのものを使っても同じようになっているようです。

Nemo

ディレクトリとして、基本的に必須なのは、以下のものらしいです。

 / root
すべてはここから開始
 /bin すべてのユーザーが使用する基本的なコマンドやシステム起動に必要なコマンド
例えば、cat, lsなんかもここにある。
実はここにあるのはショートカットで、実体は/usrの下にある
 /boot システム起動に必要なファイル
 /dev コンピュータのデバイスに関するファイル
 /etc 各種設定ファイル
 /home ユーザーホーム
この中にユーザーごとのサブディレクトリが作られる
 /mnt ユーザーが装置をマウントするために用意された場所
自動的にマウントされる場合は /media が使われる
 /opt 追加アプリケーションパッケージがインストールされる場所
 /proc プロセス情報
数字名のディレクトリが実行プロセスの数だけ作られる
 /root システム管理者用のhome
 /sbin 主にスーパーユーザーだけが使用できるシステム管理用コマンド
実はここにあるのはショートカットで、実体は/usrの下にある
 /tmp 一時的なデータの保管場所
再起動すると消える
 /usr アプリケーション格納場所
Windowsでいうところのc:\Program Files
/bin /sbin /libなどの実体がここに格納される
 /var ログファイルやキャッシュなどの一時ファイルが格納される
/tmpと違うのは、再起動しても消えない

なんとなく概要は分かったけど、詳しくはまだまだ。下手に触るなということか。

 

2021年5月 6日 (木)

LinuxでLogicoolのワイヤレスマウス

LogicoolのUnifying接続のマウスやキーボードをLinuxで使う方法です。

 

一度別の環境でペアリングしたものを持ってくれば、そのまま使えますが、新たにデバイスを追加したり交換する場合は、ペアリング作業が必要になるので専用のアプリケーションが必要です。

Logicoolはサポートしていないようですが、Linux用にアプリケーションは用意されています。

アプリケーション名は、Solaarといいます。

これはソフトウエアの管理の中に標準で入っています。

ソフトウエアマネージャーを起動して、solaarで検索します。

Solaar

ここからインストールします。

 

起動中の画面です。パネルにアイコンが表示されます。

Solaar_20210506192401

 

Linux HDDのマウント

Windows PCでは、起動ドライブ以外のフォーマット済みのHDD、例えば、増設した2台目のHDDなどは自動的に認識されてすぐに使えるようになります。

これが常識と思っていたら、Linuxではそうではなかったですね。

しばらく設定していないと、こういう基本的なことも忘れています。

Linuxでは、HDDはマウントという操作をしないと使えるようになりません。

これは良いか悪いかではなく、OSの考え方の違いですが、パーソナルなコンピュータとしては、すぐに使えるほうが便利だとは思います。

それはさておき、マウントです。

 

マウント自体は、最近のLinuxではGUIでマウスを使って簡単にできます。

ただし、毎回手動でマウントするのは面倒なので、起動時に自動でマウントするようにします。

具体的には、起動時にLinuxが参照する/etc/fstab(file system tableと覚える) に必要な情報を書き込む必要があります。

これも、実際にはマウスを使ったGUIでできるのですが、ここではあえてテキストベースで実行してみます。

 

まず、現在の /etc/fstab の中身を見てみましょう。

ディレクトリ構造の話はまた次回ということで、とりあえず、端末を開いて下記コマンドを入力します。

端末(Terminal)を開くのは、CTRL+ALT+T です。

テキストファイルの内容表示はcat(conCATenate)コマンドを使用します。

hogehoge@MS-7B86:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=e00f0e7e-c89e-4f45-8b8e-725881a3075a / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=90A6-3194 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0

てな感じで出力されます。

#で始まる行はコメント文です。

 

構文はスペース区切りで6個のブロックに分かれています。

  1. <file system>マウントするドライブのIDまたはデバイス名
  2. <mount point>マウントポイント
  3. <type>ファイルシステムの種類
  4. <options>マウントオプション
  5. <dump>
  6. <pass>

 

新しくマウントするHDDのUUID(機器固有の識別コード)を調べます。

blkid(Block ID)コマンドを使用します。

hogehoge@MS-7B86:~$ sudo blkid
[sudo] hogehoge のパスワード:
/dev/sda1: UUID="90A6-3194" TYPE="vfat" PARTUUID="954c1539-01"
/dev/sda5: UUID="e00f0e7e-c89e-4f45-8b8e-725881a3075a" TYPE="ext4" PARTUUID="954c1539-05"
/dev/sdb1: LABEL="data320" UUID="17a53922-6439-4f24-924b-2ab79473c3fa" TYPE="ext4" PARTUUID="fedfd747-01"

これを見ると、新しく追加するHDDは

/dev/sdb1

または

UUID=17a53922-6439-4f24-924b-2ab79473c3fa

ということがわかります。UUIDは、固有値なので、世界中で同じものはないと思われます。

 

1ブロック目<file system>としては、上記のどちらも使えますが、

/dev/sdb1は構成が変わった場合に変化する可能性があるので、UUIDの方を使用します。

これで<file system>は決定しました。

 

次に、2ブロック目<mount point>を決定します。

とりあえず、ルートにhdd2というディレクトリを作成して、そこをマウントポイントにします。

mkdir(make directry)コマンドを使用します。

hogehoge@MS-7B86:~$ sudo mkdir /hdd2

マウントポイントは /hdd2に決定しました。

 

3ブロック目の<type>は、ext4でした。

4ブロック目の<options>マウントオプションは defaults で良いです。一般ユーザーは読み書きできますが、アンマウントはできません。

5ブロック目、6ブロック目はいずれも 0 で良いです。

 

したがって、 /etc/fstab に以下の例のような1行を追加すればOKです。

UUID=17a53922-6439-4f24-924b-2ab79473c3fa /hdd2 ext4 defaults 0 0

※各PCで固有値は変わります。

 

編集のためのテキストエディターはxedを使用します。

hogehoge@MS-7B86:/$ sudo xed /exc/fstab

でxedを起動し、1行追加して保存すれば完了です。

 

再起動し、きちんとマウントされているか確認してみます。

 

lsblk(List files Block)を使用します。

hogehoge@MS-7B86:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 111.3G 0 part /
sdb 8:16 0 298.1G 0 disk
└─sdb1 8:17 0 298.1G 0 part /hdd2
sr0 11:0 1 1024M 0 rom

sdb1が/hdd2に正しくマウントされていることがわかります。

2台目のHDDの中身にアクセスする場合は、/hdd2を見に行けば良いです。

 

実は同じことをGUIでもできますので、参考に書いておきます。

メニューから「設定」−「ディスク」を選択します。

Menu1

2台目のHDDを選択します。

 

Disk

歯車のボタンを押し、「マウントオプションを編集」を選択します。

間違って、他のメニューを選択しないように注意してください。

Mntoption

「ユーザーセッションのデフォルト」をOFFにして、テキストベースで入力した内容をこちらに入力すればOKです。

 

 

 

 

 

 

«Linux Mint

2023年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ