ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Debian 11(Bullseye)でLXDEのLxterminalが起動しない場合の対処方法

(2022-07-06 初稿)

筆者は、Debianでは軽快なLXDEを利用しており、コマンド入力にはLxterminalを用いている。

Debian 11(Bullseye)からか、10(Buster)からのアップグレードではなくクリーンインストールした場合に、Lxterminalが正常に起動しない場合がある。

この原因についてはつかめていないが、Lxterminalの起動時のオプションを試してみたら、常に正常に起動するオプションが見つかったので記述する。

$ lxterminal --help
 --no-remote                      Do not accept or send remote commands
$ lxterminal --no-remote       (正常に起動する)

ということで、毎回入力するのは面倒なので、対策として適切かどうかは不明であるが、以下のようにlxterminal.desktopを変更した。

sudo vi /usr/share/applications/lxterminal.desktop
Exec=lxterminal                (変更前)
Exec=lxterminal --no-remote    (変更後)

筆者の手元では、上記変更でLXDEのパネルからもLxterminalが常に正常に起動するようになった。

もっと良い方法があったら教えてください。

関連ページ

WSL2で/etc/hostsファイルが初期化されないよう対策する

(2022-06-20 初稿)

最近、WindowsコマンドプロンプトWindows Termianlが便利だと気がついて、記事にしたいことが貯まっている。このページは簡単に単なる自分用メモ。

WSL2をコマンドプロンプトWindows Terminalを使っていると、せっかく設定した/etc/hostsの情報が毎回初期化されてしまう。

Webで検索して、以下のサイトを発見。 多謝。

対策

/etc/wls.confファイルを作成し、以下の内容を書き込む。

sudo vi /etc/wsl.conf
[network]
generateHosts = false

後は、いつものとおり/etc/hostsによくアクセスするPCやサーバを書き込めばOK。

よく見たら、/etc/hostsファイルの中にも記載があった。(^^ゞ

関連ページ

timeout コマンドが便利すぎる

(2022-06-17 初稿)

筆者はRaspberry Piで温湿度を測ったりしている。

先日、少し遠い所の温湿度を計測しようと、センサーの接続ケーブルを伸ばしたところ、時々温湿度の取りこぼしエラーが発生するようになってしまった。

単に取りこぼしエラーが発生するだけなら良いのだが、何度かに一度は取得に行ってそのまま返事もなくスクリプトが止まってしまうことがあった。

最初は、ある時間が経過したら、bashスクリプトと子プロセスのPIDを調べてkillしようと考えたが、bashのPIDがなんだか複雑…

もっと簡単な方法はないかと検索したところ、timeoutなるコマンドがあることに気がついた。

使い方は簡単で、実行したいコマンドの前に、timeout 秒数を入力するだけである。

timeout 秒数 実行したいコマンド

ちなみに、timeoutコマンドは、以下のように調べるとcoreutilsに入っているらしい。

dpkg -S $(which timeout)
coreutils: /usr/bin/timeout

こんな便利なコマンドが最初から入っていたなんて知らなかった。

なお、timeoutの使い方については、以下のサイトが詳しかった。多謝。

筆者は主にbashスクリプトから利用するので、サンプルを以下に示す。

ちなみに、timeoutコマンドは時間内にコマンドが正常実行できれば「0」、できなければ「254」を返す。

timeout 3 sleep 2; echo $?
0
timeout 3 sleep 5; echo $?
254

ということで、bashスクリプト例を以下に示す。

#!/bin/bash

timeout 3 sleep 2
if [ $? -eq 0 ]; then
    echo "Success"
else
    echo "Failed"
fi

もっと早くにtimeoutコマンドのこと知りたかったなぁ

Raspberry PiのIP固定化でinformのパケットがあふれてしまう対策

(2022-06-15 初稿)

はじめに

先日、職場のRaspberry Pi 4Bをサーバにするため、IPを固定化した。

ちなみに、筆者のRaspberry Piの環境は以下のとおり。

Linux hoge 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

wlan0のIP固定化

ちなみに、上図のIPアドレスは実際に割り振ったIPとは異なる。

しばらく順調に動いていたが、ある時点からサーバの機能が失われ、sshによるログインなどができなくなった。

/var/log/syslogを調べてみると、以下のようなメッセージが延々と書き込まれていた。

May 29 00:01:40 hoge dhcpcd[472]: wlan0: received approval for 192.168.11.50
May 29 00:01:40 hoge dhcpcd[472]: wlan0: received approval for 192.168.11.50
May 29 00:01:40 hoge dhcpcd[472]: wlan0: received approval for 192.168.11.50
May 29 00:01:40 hoge dhcpcd[472]: wlan0: received approval for 192.168.11.50
May 29 00:01:40 hoge dhcpcd[472]: wlan0: received approval for 192.168.11.50

同じ秒に何回もメッセージを受けており、これでは正常な動作は期待できない。

そこで、ネットを検索すると以下のサイトがヒットした。多謝。

さらに調べると、Raspberry Piのサイトにも投稿されていた。

これらのサイトによると、「Automatically configure empty options」にチェックを入れるとあふれるほどのメッセージを受け取るらしい。

対策

対策としては、「Automatically configure empty options」のチェックを外す。

または、/etc/dhcpcd.conf を以下のように修正する。

# Example static IP configuration:
interface wlan0
#inform  192.168.11.50/24   # コメント化or削除
static ip_address=192.168.11.50/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1 8.8.8.8

筆者は、dhcpcd.confを直接編集し、安定動作するようになった。

関連ページ

Raspberry Pi 3B+で無線LANコンバータを作ったよ

(2022-06-13 初稿 - 2022-07-11 修正)

はじめに

先日、TP-LinkのRE300を購入して、便利に使っている。

だたし、RE300には有線LANのポートがないので、無線が使えない機器や機器同士を有線LANで接続したい場合等はやや不便だ。

そこで、余っていたRaspberry Pi 3B+で無線LANコンバータを作ったので紹介する。

無線LANコンバータは、有線の機器の接続を無線に変換する装置で、部屋の中は有線LAN、部屋から部屋へとまたぐ際に無線にと便利に使うことができる。

デスクトップPCがある部屋等では便利だと思う。

本記事は、以下の2つのサイトをほぼそのままに作業を行った。多謝。

前提条件

設定したRaspberry Pi 3B+のOSやバージョンは以下のとおり。

Linux hoge 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

今回作製した無線LANコンバータは、以下のようなところに設置した。

Internet
  【Wi-Fi router】
      192.168.22.1
      
               wlan0: 192.168.22.101
                    【RaspberryPi】
                            eth0: 192.168.22.102    HUB
                                                      192.168.22.103  【PC】

/etc/decpcd.confの設定

wlan0が無線側(192.168.22.101)、eth0が有線側(192.168.22.102)で、たくさんの機器を接続する予定はないので、ブリッジ接続で静的IPアドレスを割り振った。

以下は、自分が修正した部分のみを表示。

# mod H.Y 2022-06-12
interface wlan0
static ip_address=192.168.22.101/24
static routers=192.168.22.1
static domain_name_servers=192.168.22.xxx
static domain_search=
noipv6
interface eth0
static ip_address=192.168.22.102
static routers=0.0.0.0   # eth0を出るパケットが迷わないように
static domain_name_servers=0.0.0.0  # 同上
static domain_search=
noipv6

dhcp-helperのインストールと設定

静的IPなので、不要かもしれないが、上流のルータにDHCP機能があるので、dhcp-helperをインストールした。

dhcp-helperは、DHCPの要求を上流に伝達する役割を果たす。

sudo apt-get install dhcp-helper 

インストール後、以下の設定を行う。

sudo vi /etc/default/dhcp-helper
# mod H.Y 2022-06-11 変更部分のみ記載
#DHCPHELPER_OPTS="-b eth0"  # 修正前
DHCPHELPER_OPTS="-b wlan0"  # 修正後

Proxy ARPブリッジのインストールと設定

ブリッジを作成するために、Proxy ARPブリッジをインストール。

sudo apt-get install parprouted

起動時に実行させるので、/etc/rc.localに追記するが、次節以降追記するので、ここでは紹介のみ。

ip addr add 192.168.22.102 dev eth0
parprouted wlan0 eth0

/etc/rc.localの設定

/etc/rc.localを修正するが、それぞれ目的を記述するので、全て「exit 0」の前に追記する。

最初のうちは調子良くつながるが、放置すると繋がらなくなるWi-Fiのパワーマネージメントが影響すると考えられたので、パワーマネージメントを切る。

iwconfig wlan0 power off

ipv4フォワーディングを有効にする。

echo 1 > /proc/sys/net/ipv4/ip_forward

Proxy ARPブリッジの設定は、eth0とブリッジの設定。なお、eth0の設定は、/etc/dhcpcd.confにも追記したので不要かも…

ip addr add 192.168.22.102 dev eth0
parprouted wlan0 eth0

以上で設定は終了。

再起動の前に、ケーブルやHUB等の機器を接続する。接続しておかないと、うまく動作しないことがある。

HUB等で接続するPCの設定

念の為に、接続するPCの設定を記述する。ルータのアドレスはWi-Fiのアドレスにする(2022-07-11 修正)。

interface eth0
static ip_address=192.168.22.xxx
static routers=192.168.22.1                   # routerのIP 2022-07-11修正
static domain_name_servers=192.168.22.xxx
static domain_search=
noipv6

おわりに

思ったよりも簡単に無線LANコンバータを作ることができた。

皆さんも活用を。(^^)/

関連ページ

Debianで"Not authorized to perform operation"対策

(2022-06-08 初稿)

いつの頃からか不明だが、デジカメのSDカード等を読もうと挿し込むと、「Not authorized to perform operation」と怒られるようになってしまった。

Webで検索すると、以下のページがヒット。

なんと、Chrome Remote Desktopが関係しているとか… 全く、予想がつかなかった。^^;

筆者も、以下のページにあるようにChrome Remote Desktopを便利に使っている。

確かに、筆者が所有するChrome Remote DesktopをインストールしたPCでは、全滅だった。

対策として、Chrome Remote Desktopを削除する方法と、ぜひとも残して使いたい場合は、以下のように一時的に停止するとよい。

sudo systemctl stop chrome-remote-desktop.service

SDカードを読み終わった後は、再開するのを忘れないように

sudo systemctl start chrome-remote-desktop.service

しかし、再開を忘れそうで怖いので、なんとかならないのかな… > Googleさん

関連ページ

TP-Link RE300を使ってみた

(2022-05-24 初稿)

職場でWiFiが届きにくい所があったので、試しにTP-Linkの中継機(RE300)を購入してみた。

無線LAN中継機(RE300)

無線LANのステーションにWPSが付いていれば、ほとんど手間がなく接続できる。

また、接続のパスワードも同じで、アクセスポイントだけが、ステーションのSSIDに「-EXT」が付いて、同じネットワークを利用するMesh WiFiが実現できる。

さらに、上記の写真のとおり、2.4Gと5Gを両方使って、高速な通信を行ってくれるようだ。

皆さんのご家庭でWiFiが届きにくい所があれば、検討してみてはいかが。