Chromebook – ローカルネットワークゲートウェイにアクセスできません

環境

– 機種:Lenovo ChromeOS
– 発生日時:2022/07/30 19:00~2022/07/31 19:00

現象

7/30 19:00 頃、Wi-Fi とは接続できているのに「ローカルネットワークゲートウェイにアクセスできません」と言うエラーが発生しインターネットに接続できない。

対策

インターネット上に公開されている様々な対策を参考に、以下のような対策を試みた。

  1. 他のデバイス(windows10、iPhone)のインターネット接続確認:問題なし。
  2. 電源 ON/OFF による再起動(数回):状態に変化なし
  3. Wi-Fi 通信タイプ A/G 切り替え:状態に変化なし
  4. 最終手段 Powerwash:状態悪化
  5. 暫く時間を置いた 7/31 19:00 頃に再度電源投入:完全復旧

結論

結局、何が原因かも分からず、何の対策も効果がないままに復旧してしまった。
強いて言うなら、行って効果のあった対策は、もう捨てようと諦めて時間を少し空けたことのみ。

対策が行き詰まり期待を込めて行った Powerwash は、ネットに接続できない状態では再インストールが出来ないため、状況としては、改善どころか悪化する結果になってしまった。

以上から、私からのアドバイスは、「この現象に対する処置は、余り焦らず暫く時間を置くこと以外にはない」ということである。

最後に

このPCでインターネットに接続できなくなったのはこれが初めてではない。過去の場合においても、採った対策に効果は全くなく、時間が解決してくれたものばかりである。この不安定さが気になる。
これでは、メインとして使用するのは無理で、サブ機として使って行くしかないのだろう

Jupyter Notebookで仮想環境はどうやって指定するの?

PythonでPostgreSQLとの接続テストをするため、
‘psql’ という仮想環境を作成した。
でも、この環境を Jupyter Notebook ではどう指定するの?

これには、以下のような手続きが必要になる。

設定済みのpsql 仮想環境を例にとる。

1. CLIによる操作

コマンドプロンプト、PowerShell、Windowsターミナル などを使用する。

(1) 仮想環境に入る

(2) ipykernelのインストール

(3) Jupyter へカーネル追加

※**psql_env**の部分は好きな名称でよい。

(4) Juypter Notebookの起動

Juypter Notebook を起動する。

2. Jupyter Notebook での操作

表示された先頭画面で設定した仮想環境psql_envを選択する。

WSL2とVM VirtualBoxの共存

Windows 内にWSL2をインストールし、それにUbuntuをインストールすれば、あえて VM VirtualBox(以下「VM」)をインストールする必要はないのかもしてない。

しかし、systemctl コマンドをどうしても使わなけばならないような場面に遭遇してみると、VM 上の Linux もやはり必要になってくる。

Windows10 Home において、WSL2とVM の共存に関する情報は様々目にする。

VMのバージョンの問題とか、「Windowsの機能の有効化または無効化」の「Windowsハイパーバイザープラットホーム」を有効化するとか。ほぼ同じような内容のものばかりだ。

だが、私が知りたいことと、この対策内容の間にはギャップがあるような気がしてならない。

私が知りたいのは、「VM 上にインストールした Ubuntu」を動かす方法についてだ。

インストールには問題なくできるし、インストールした「Ubuntu」を起動するとログイン画面までは表示できる。

しかし、パスワードを入力して送信した段階で動作は完全停止。

VMの機能はパスワード入力まで。

後は Ubuntu の問題。

とすれば、確かにWSL2とVMの共存は出来ているのだろう。

が、残念ながら Ubuntu は動かない

これが、私のPC環境での結論である。

しかし、捨てる神あれば拾う神あり!

それは、Linux Mint の Mate 版

Cinnamon はダメ。インストール直後は問題なく動作したものの

ソフトウェアをアップデートした途端、キーボードの接続が切れ

全く操作不能になってしまうという問題が発生してしまう。

何度もチャレンジしたが、結果は同じ。

Mateでは、これまでのところ当該事象は発生していないので、これを使うべきだろう。

PostgreSQL接続時に「authentication requires libpq version 10 or above」が発生

1. 事象

PHPからPostgreSQLに接続しようとすると、pg_connect(): Unable to connect to PostgreSQL server: SCRAM authentication requires libpq version 10 or above.というエラーが発生する。

2. 環境

– windows10
– xampp
– PHP 7.2
– PostgresSQL 14.4

3. 原因

PostgreSQLの認証方式SCRAM-SHA-256に基づいたエラー。
具体的には、「この認証方式にはlibpq 10以降が必要だが、使用中のバージョンは libpq 9以前のものである」というもの。

3.1 libpq のバージョン確認方法

xamppの場合。
– エクスプローラで C:\xampp\php に移動
libpq を、右クリック→プロパティを選択
– プロパティ画面の詳細タブを選択

<div style=”clear:both;”></div>

4. 対策

PHP を、バージョン8以降に更新すればlibpq 10がインストールされるとのこと(未確認)。
PHPを何らかの事情でバージョンアップできない場合は、認証方式を以下の通り変更する。(stackoverflow から)

  1. Step 1: C:\Program Files\PostgreSQL\14\data から postgresql.confを探し、password_encryption = md5を設定する(96行目付近)。
  2. Step 2: 同じ C:\Program Files\PostgreSQL\14\data から pg_hba.conf を探し、METHOD 列の scram-sha-256 を全て md5 に変更する。(85行目付近から最後まで)
    (上では、scram-sha-256をコメントアウトし、md5の行を追加している。)
  3. Step 3: windowsターミナル(または、コマンドプロンプトやPoweshee)を開き、 ‘psql -U postgres’ を実行して、インストール時のパスワードを入力する(パスワードは不要かもしれない)。
  4. Step 4: 次に、パスワードを再設定する(同じもので良い)。
  5. 最後に: PostgreSQLとApacheを再起動する。

5. 参考

参考に、PHP 接続確認用のプログラムを添付する。

6. その他

Ruby Rails でも同様のエラーが発生するとのこと。
対策は、こちらを参考のこと。

(追記)この対策以前、R からも接続できなかったが、今日再度実行したら接続できたことからすると、原因はこの認証方式にあったものと思考される。
実行例を以下に示す。

なお、dvdrental データベースの作成方法は、こちらを参考。

Windows10 VirtualBox への Ubuntu 22.04 インストール対策

以前の投稿で、Windows10 VirtualBox への Ubuntu 22.04 インストールに関する問題点を書いた。

Ubuntu 22.04 インストールできず

その解決策が「4. Changing the window resolution」に記載されている。
余分な操作も書いてあるので、それを省いたのが以下の操作である。

(1)「設定」を選択




VitualBox マネージャー画面から、
① インストール対象のOSを選択
② 「設定」アイコンをクリック

(2)ディスプレイの設定


① 左メニューから「ディスプレイ」を選択
② グラフィックスコントローラ(G)選択ボックスの値を「VMSVGA」から「VBoxSVGA」に変更
③ {OK」をクリック

これで設定は完了。Ubuntu のインストールを開始する。

日本語インストールで、画面下部がいまだカットされている場合は、マウスを使って画面を拡大すれば非表示部分が表示されるようになる(この操作は最初の1回のみで、以降はこの画面サイズとなる)。

【重要】
グラフィックスコントローラの値を「VBoxSVGA」のままログインするとハングアップしてしまうので注意が必要である。
ハングアップしてしまったら、一旦「×」ボタンでシャットダウンし、グラフィックスコントローラ選択ボックスの値を「VMSVGA」に戻し、Ubuntu を再起動すれば正しくログインが可能になるはずである。

VirtualBox への Ubuntu インストールについては、「Ubuntu Tutorial」に詳しく書いてあるのでそちらを参考にすると良い。

Bashプロンプトを短縮して表示する

WSL2 ubuntu の bush プロンプトに意味もなく長く表示されるプロンプト。

この中の、ユーザ名@DESKTOP-EFS7USK(ホスト名)を非表示にして、もっと短く表示したいというのが私の願望。

これには、PS1(大文字であることに注意)という変数の設定値を変更する必要があるとのこと。
中々面倒な設定だが、何はさておき、次の文を “.bashrc” の末尾に追加すれば、ユーザ名@ホスト名を非表示にできる。

結果は、こんな感じ。

なお、「(base)」は python の仮想環境を表すもので、必要なのでそのまま残してある。

PS1の設定については、Qiitaに詳細な説明がある。

Ubuntu 22.04 インストールできず

Ubuntu 22.04 LTS が正式リリースされたというので、早速チャレンジしてみたのだが、問題ありありのこんこんちきだ。

仮想マシンの設定などの前準備はさておき、インストールから話をする。

まず最初に表示された次の画面左側で、「日本語」を選択する。

メニューが日本語に変わる。ここで、右側の「Ubuntuをインストール」でインストールを始めたのだが・・・

次の、「キーボードレイアウト」を設定で “Japanese” を選択したものの、ボタンが隠れてしまって、次の操作ができないのだ。どんな種類のボタンが幾つあって、どう並んでいるのかが分かれば、矢印キーやタブキーを使えばそれなりに対応もできるのだが、それが全く分からないのではもうお手上げ白旗降参するしかない。


しかし、退散しようにも、そのボタンすらないので、右上の電源ボタンで “Power off” 。が、反応なし。進退窮まるとは正にこのこと。もう最後の手段、「×」ボタンをクリック。幸いここにシャットダウンがあり、何とか無事に退却はできた。

どうも、日本語によるインストールが問題のようだ。
因みに、英語によるインストールの場合の「キーボードレイアウト」画面は、以下のように表示される。

この問題は、私固有のものなのだろうか。また、これを回避する手段はあるのだろうか(因みに、画面を広げても無駄)。

この原因は、日本語フォントにあるのは間違いないだろう。
日本語にこだわらなければ、英語のままインストールできるのだが、以後ずうっと英語とお付き合いするのも面倒なので、改善されるのを待つとしようかな。

Atx形式とSetext形式

Markdownにおいて、見出しの定義方法に2種類あることは知っていたものの、それにAtx形式とSetext形式と言う名称があることまでは知らなかった。
それぞれ、どのようなものかを例で示すと、以下のようなものになる。

Atx形式

Setext形式

見出し以外は?となると、Markdownには存在しない。
要するに、Markdownには見出しの定義に2種類の方法があるというだけの話だ。

ではなぜ、このテーマにしたかと言えば、その形式の名前に興味を持った為だ。
AtxとかSetextとか、何者?

Wikipedia(英語版)によれば、SetextとはStructure Enhanced Textの略で、軽量のマークアップ言語とのこと。
Atxについては、検索しても見つけることができなかったが、Setext同様、軽量のマークアップ言語であろうと想像できる。

GitHubとかCommonMarkとかの方言(フレーバ)ではなく、元々のMarkdownにこの2種類の記法がある理由は、これを開発する上で参考にしたのが、AtxやSetextではなかったのではないだろうか。

それにしても、軽量のマークアップ言語のなんと多いことか。

shinyapps.ioへのdeploy

shinyapps.ioへのアプリのデプロイ方法について、簡単にまとめておくことにする。

(1) shinyapps.ioへのログイン
Googleniにアカウントがあれば簡単にログインが可能。

 

(2) アカウント認証用のトークンとシークレット取得
ログイン後の画面で、アカウント認証用のトークンとシークレットを取得する。

 

この操作で、左側に表示されているコードのsecret部分に正しい認証キーが展開されたものが、クリップボードにコピーされる。
(3) アカウント認証
① rsconnect のインストール
インストールしていなければ、次によりインストールする。

② 認証処理
RStudioやRコンソールに、前の操作でコピーしたコードを貼り付け実行する。

以上で、アカウントが作成される。
いざ、デプロイ!

一番簡単なRStudiからのデプロイを行う。
(1) app.R を開く
手元にソースがなければ、このデモ用のコードを使うのも良いだろう。

(2) コードの実行
Run App でコードを実行する。

 

(3) 公開
表示されたウィンドウの Publish ボタンをクリックする。

 

この操作で、ダイアログが表示されるが、そこでも Publish ボタンをクリックする。
これで少々待てば、ブラウザが開きShinyが表示されるはず。

(追)
この例で表示される初期画面は、まるでバグが発生したような内容なので、Y軸に Price を指定してみると、それらしいグラフになる(下図参照)。

Ubuntu の起動ができない

久し振りにVirtualBoxからUbuntuを起動しようとしたら、下のような VirtualBox エラーが表示され起動できない。

私の手には負えないのでググって調べた結果、様々な状況で同じようなエラーが発生するようだ。
でも、共通するのは windows10 側の仮想マシンの設定にあるらしいことが徐々に分かってきた。どうも、これが設定されていると VirtualBox が実行できなくなるようだ。

仮想マシンが設定されているかどうかの確認

windows10 で

  • コントロールパネル→プログラム
  • 「プログラムと機能」を選択
  • 左側の「windows の機能の有効化または無効化」
  • 開かれたダイアログで「仮想マシンプラットフォーム」を確認

もし、これがチェックされていれば、仮想マシンが設定されていることになる。
その場合は、

  • チェックを外し「OK」をクリックする
  • 再起動

することにより仮想マシンを削除できる。

以上を行った結果、私の場合は正常にUbuntuが起動できるようになった。