変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2023 / 8月

[仮説]宇宙の速度の制限が元凶?

現在の宇宙が偽の真空か真の真空かは不明だが、その真空では対生成と対消滅が際限なく繰り返されているらしい。(仮説

となると、多分クォークと反クォークの対生成と対消滅なのかな?そんな物騒な現象が陽子とか中性子の塊の原子核が常時反応しているのだろう。

その陽子とかを構成するクォークが先の対生成の片割れの反クォークと不意に対消滅することもあるが対生成のもう一方の片割れのクォークが消滅したクォークの替わりになり無事収まる。(知らんけど

その騒動に陽子を構成するクォークを繋ぎ止めるグルーオンが新しい仲間(置き土産のクォーク)のクォークを繋ぎ止めるにも光速を越えて反応できないので若干もたつく。(若干

それが延々と続く。(宇宙の終わりまで果てしなくいつまでも

つまり、陽子を構成するクォークを繋ぎ止めるグルーオンはいつも忙しい。そのため、原子核を構成する他の素粒子(陽子とか中性子とか諸々)との付き合いも片手間とはいかず、動きがとろい。

その他人との付き合いの遅さが質量として現れるらしい。(グルーオンのHPはほぼ無いに等しい。

もっとも、今の真空には対生成と対消滅の他にもヒッグス場とか別の反応系もある様だが、今のところグルーオンの忙しさに主な原因があるらしい。

短くまとめると「素粒子内のグルーオンの働きが光速に拘束されている様子が質量の様に観える」様だ。

それに関連し、真空の対生成と対消滅は陽子とかと関わると対消滅までの時間が短くなりその反動で早めに対生成が起き、陽子の周りの対生成と対消滅は他より活発になる。(と思う

そうなると、その陽子の方向からの対生成の数が多く、それを食らった陽子の中のグルーオンはいつもより忙しくなり、その陽子の方向に陽子が引っ張られる。(のかもしれない。

案外、陽子と中性子が塊になっているのはそのせいかもしれない。(グルーオンの処理能力の低下=強い相互作用?

しかし、対生成と対消滅は原子核の外にも波及するが原子核が陽子と中性子が塊なのでその影響も塊となって外に影響が出ることになり、外の陽子も反クォークが多く飛んでくる方向に引っ張られる。(酷い有様

この酷い有様が・・・

重力なのかな?

尚、影響がそのまま空間に広がるとその影響は球の表面積(4πr)に反比例するハズなので、万有引力の法則とも相性が良さそう。

結論。

質量?

重力?

そんなものは実在しない。

素粒子内のグルーオンが光速限界を守り安全に反応している様が、そんな風に見えるダケ。

だと思った。

そうなるとタキオンなんてものが実在したらどうなるのかな?

多分、そんな素粒子があれば質量は無さそうだが、

普通の素粒子と反応すればタキオン素粒子は超光速で弾かれるんだろうけど、

普通の素粒子の方は普通に自前の質量(ここではグルーオンの処理性能の低さ)に応じて弾かれる。(ハズ

なので、宇宙のボイドの発生源にでもなっているのかもしれない。

おかげで、超銀河団も時間の経過と共にまとまり、めでたし、めでたし。なのかな?(知らんけど

ps.2023/09/01

質量が素粒子間の反応の1つであるなら、

時空間の歪みも

「あたかも時間と空間が歪むかの様に素粒子が振る舞うがそれは観測者の概念に依存する錯覚である。」

と云うことになる。

つまり、クォークと空間の見えない真空の反応を前提にすると。

質量とか空間とか時間という絶対的っぽい概念は

ちゃんと見直さないと現実と乖離してしまい。

「観測してていない時は存在していない」とみなすとか何とか的な解釈しかできなくなるので

とてもメンドクサイ様だ。



[Linux]chrome

ダウンロードページからインストしようとしたら、1つ依存パッケージが見当たらないと出たので、

※chrome用のyumリポジトリィファイルを作る
# sudo vi /etc/yum.repos.d/google.chrome.repo
i
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
「esc」:wq
※内容チェック
# yum search google chrome
google-chrome-beta.x86_64 : Google Chrome (beta)
google-chrome-stable.x86_64 : Google Chrome
google-chrome-unstable.x86_64 : Google Chrome (unstable)
※安定版をインスト
# sudo yum install google-chrome-stable

※元ネタは、Google Chromeをインストールする Rocky,Alma,CentOS

chromeの拡張機能のchrome リモートデスクトップはインストできたので、他のパソコンに繋ぐことはできた。

しかし、他のPCから接続しようとdebパッケージで作られたパッケージのインストールができなかった。

一応、CentOS Stream8とMIRACLE LINUX 8.4にChrome Remote Desktopで接続する で

alienパッケージを使用して debパッケージをrpmパッケージに変換すれば使えるようになるらしいが、最新のdebパッケージではダメらしいので、パス。

すなおにUbuntuを入れようとしたが、cockpitの仮想マシンへの「OSのダウンロード」でUbuntu18をインスト中の「パッケージのインストール」で無限ループに入ってしまったので挫折。

ps.2023/08/17

ubuntu-22.04.2-desktop-amd64.isoをダウンロードし、これを仮想マシンにマウントする方式で無事Ubuntu 22をインストできた。

vncコンソールのマウスのポインタがズレて判定され操作しにくい。(特に×クリック

ここで、コンソールの「デスクトップビューアー」を試してみた。

  1. WindowsにRemote Viewerをダウンロードしてインスト
    • virt-viewer 11.0 (gpg) Friday November 18th, 2021 Win x86 MSI (gpg) 「Win x64 MSI (gpg)
    • インストするとv拡張子と連動する。
  2. 【リモートビューアーの起動】ボタンを押す
    • spice://127.0.0.1:5901へ接続する設定ファイルがダウンロード
      • そのまま実行しても接続失敗
      • ダウンロードしたvvファイルは自動削除設定になっている。
  3. cockpitが動作しているマシンのIPアドレスに差し替えても
    • 接続失敗。
  4. 使用する5900, 5901ポートを解放
    • 接続失敗。

ローカルホスト上でcockpitを起動している場合のみ、コンソールの「デスクトップビューアー」が使える様だ。

※もしかしたらWindowsの場合のみ127.0.0.1になるのかもしれない。

シリアルコンソールではクリップボードが使えるが、

vncコンソールでは使えないので、

諦めてSSHサービスをインスト。

$ sudo apt-get install openssh-server

勿論、以下はTeraTermから操作。

chromeをインスト。

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo dpkg -i google-chrome-stable_current_amd64.deb
$ google-chrome で起動

chromeから remotedesktop.google.come/access を開き、chromeリモートデスクトップをインストし拡張画面へ移動。

リモートホストもインストさせようとしたが失敗。

手動に切り替える。

$ wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb -P ~/Downloads
$ sudo dpkg -i ~/Downloads/chrome-remote-desktop_current_amd64.deb
$ mkdir ~/.config/chrome-remote-desktop で作業フォルダを作っておく

するがdpkgでエラる。

どうやら、libutempter0モジュールが見当たらないらしい。

しかし、

$ sudo apt-get install libutempter0

しても先のdpkgが途中でエラーったのが影響しているのか失敗。

画面に apt –fix-broken installを試してね。と提案が出ていたので、

$ sudo apt --fix-broken install

で、無事リモートデスクトップがインストされた。

※うまくいかない場合もあるらしい。

とりあえず、WindowsからUbuntu22のデスクトップにアクセスできたが、nonモニターのため真っ黒。

結論

仮想マシンのvncコンソールがイマイチ。

  1. クリップボードが使えない。
  2. デスクトップ上のマウスポインタの座標がクリックした時とズレている。

chromtリモートデスクトップでリモート接続できても、モニターレスなら多分真っ黒画面になるので、仮想マシンはキャラベースでインストした方が安心。

こうなるとLinuxにHTML5なリモートデスクトップが欲しくなる。(Linux限定になるけどね

ThinVNCがあるか・・・



[Linux]noVNC

cockpitのコンソールがnoVNCで、できているらしい。

ブログサーバは非力過ぎて固まりかけていたので、Hyper-VにインストしたAlmaLinux9があるからインストしてみた。

コチラを参考に固有情報以外はそのまんまインストしてみた。

最初は電子証明書がうまく機能せずエラってダメだった。

systemctl enable --now vncserver@:1 vncserver@:2

だけでは無理なのかな?

systemctl start --now vncserver@:1 vncserver@:2

も追加したけどダメ。

なぜ記事にはsystemctl start コマンドが無かったのか?再起動するなら不要だけど・・・!

AlmaLinux9を再起動してnovnc_proxy を実行すると、何事もなかったかの様に接続できた。

今のvncは一度再起動後しないと都合が悪いのかな?

さて、実際にAlmaLinux9のデスクトップ画面で色々操作してみると反応はとても良い。

古いとは云えCPUはINTEL i9-9900だし32GBメモリあるし同じパソコン同士なんだから当然として

AlmaLinux9でyoutobeで動画が普通に観れるのはスゴいなぁ。

音は出ないけどね。

難点を云えば、VNCクライアントなので、

  • サーバでVNCサービスが動作していることが前提
    • 接続するサーバのユーザ毎にVNC用のパスワードを設定
    • 接続するサーバのユーザ毎にVNC用のポートを割り当てる

また、novnc_proxyもユーザ毎にポートを割り当てる必要があるから、ユーザ数分ファイアーウォールに穴をあけないといけないから、サーバー側は「ユーザ数×2倍」のポートを占有されてしまう。

その辺はxrdpの方が優しい。インストも楽だし。

あ、novnc_proxy をサービス化しないと、ラズパイ用の記事を発見。

先のnovnc_proxyをオプション付きでファイル化。

#!/bin/bash


sudo novnc_proxy --listen 6080 --cert /root/novnc.pem --vnc localhost:5901 --ssl-only

パーミッションは777。

これを呼び出すサービスの設定ファイルを作る。

[Unit]
Description=Run vnc and novnc

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/フルパス名でnovnc.sh
ExecStop=sudo vncserver -kill :1 && killall websockify
Restart=always
RestartSec=10
SELinuxContext=system_u:system_r:novnc_session_t:s0

[Install]
WantedBy=multi-user.target

パーミッションは777。

他のサービスは皆リンクファイルなので、

/usr/lib/systemd/system/novnc@.service

として作成した方がいいのかもしれない。

でもとりあえずstartできるけど

SE Linuxが有効だとダメ。

# chcon -t usr_t novnc.sh

やってみると一瞬動いたものの、再び起動しようとすると失敗。

ポリシーを変更してnovns.shを実行できるようにすればいいのだろうけど、メンドクサイのでパス!



[Linux]Cockpit Web コンソール

TeraTermで接続したら

Activate the web console with: systemctl enable –now cockpit.socket

っとメッセージが気になったのでググってみると

どうやらCockpitというWebコンソールパッケージを使おう!と云う提案らしい。

まぁ、TeraTermをインストしなくて済むならCockpitもアリかな?と思いCockpitをインスト。

# dnf install cockpit
# systemctl enable --now cockpit.socket
# firewall-cmd --permanent --zone=public --add-service=cockpit
# firewall-cmd --reload

これでCockpitが

https:/192.168.xxx.xxx:9090/

で、使えるようになった。

ブラウザに「保護されていない通信」と表示されるのは仕方が無い。(笑

メニューの一番下に「端末」機能もあるので、これでTeraTermともオサラバ?かと思ったけど

「端末」から接続してみると、「概要」でのCPU負荷が95%に上がってしまう様だ。

でも、TeraTermからも接続してtopコマンドで確認すると「端末」を開くとCPU負荷が60%まで上がりその後1%未満になるので、そう悪くない。

この「端末」でtopコマンドを実行すると反応が鈍いが、これもCPUのせいか?

ホストOS側にもインストしてDashboardやVirtual Machinesのアドオンを載せると楽そう。ゲストOSのコンソールまで付いているので行方不明になった時に便利そう。

ポートも

systemctl edit cockpit.socket

で、/etc/systemd/system/cockpit.socket.d/override.confを作成し適当なポートを割り当てればいいみたいなので、何かのWebサーバー管理とダブっても対応できそう。

ホストOS側で「ネットワーク」がNetworkManagerサービスを起動してもうまく認識できないかったので、anaconda-nm-config.serviceを起動しNetworkManagerを再設定し再ログインしたところ、表示するようになった。VM用のブリッジのせいかな?

ま、なんとなく使いそうなものは揃っている様だ。

唯一の難点は「最初の最初はTeraTermでログインしなければならない」ので、WindowsにTeraTermは必要そう。

しかし、これもゲストOSをコンテナ化しておけば多少面倒が減りそうな気もする。

ps.2023/08/10

程なく、動かなくなっていた。(大汗

原因は皆目見当が付かなかったので、ホストOS側のブリッジを作り直したり

ポートは、enp系のみチェックする。vnetxxは仮想マシン起動すると自動的にチェックが入るので不要。

何気にゲストOS側からIPアドレスを取得させてみると・・・

# ifconfig ens2 
ens2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether **:**:**:**:**:**  txqueuelen 1000  (Ethernet)
        RX packets 109  bytes 23789 (23.2 KiB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# dhclient  enp0s2 ※または ens2 でIPアドレス割当要求
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    altname enp0s2
    inet 192.168.***.***/24 brd 192.168.***.255 scope global dynamic ens2
       valid_lft 14295sec preferred_lft 14295sec

と繋がるものの再起動すると繋がらない。

そう。

「全般」のチェックが抜けているとメンドクサイ事になる

ゲストOSのcockpitで、ネットワークのens2(環境によりマチマチな名)を見ると

なぜか「全般」の「自動的に接続」のチェックボックスが外れていた。

あと、

br0ばかり使えば良いけど、br1とか作ってもなかなか出てこないのは不便

この辺はcockpitと云うよりも既存のifconfigやdhclient自体の設定の反映が超遅いので仕方が無いけど

ネットワークでシクジると、己を信じつつ、じっくり時間をかけて少しづつ進めるしかないようだ。

※ああ、メンドクサイ。

尚、途中でホスト側すらLANから繋がらなくなったので、やはりモバイルモニターと非常用のキーボードは必須の様だ。でも、最後には面倒になって本体を棚から引っ張り出して普通のモニターに繋ぎ、

設定を変えては ip a で状況を観察していたけどね。(笑

試しにUbuntuの仮想マシンも作ってみると、cockpitの仮想マシンのコンソールにVPNやX windowの選択が出てくるので、TeraTerm接続で最小インストールから頑張るより楽だと思う。

注意点としては、仮想マシン作成時にISOイメージファイルを指定すると、CD-ROMデバイスとしてマウントしてくれて便利だけど、インスト後は不要とcockpitの画面からCD-ROMを削除して仮想マシンを起動するとkernel-panicになってしまうので「OSをダウンロードします」の方がいいかも。

但し、しょぼいCPU(J1900とか)ではOSのグラフィカルなインストーラの反応がさっぱり動かない時もあるので気長に。

後、rootディスクの空きが少なかったので、仮想マシンの「ストレージプール」で新規に追加してみた。/home/vmdiskとファイルの所有者設定の都合上、/homeにした。

これを使って、既存の仮想マシンにディスクを追加するとコンソールにログが出るから

# [  190.474791] pci 0000:00:03.0: [1af4:1001] type 00 class 0x010000
[  190.480984] pci 0000:00:03.0: reg 0x10: [io  0x0000-0x003f]
[  190.484985] pci 0000:00:03.0: reg 0x14: [mem 0x00000000-0x00000fff]
[  190.493296] pci 0000:00:03.0: BAR 1: assigned [mem 0xc0000000-0xc0000fff]
[  190.498379] pci 0000:00:03.0: BAR 0: assigned [io  0x1000-0x103f]
[  190.503135] virtio-pci 0000:00:03.0: enabling device (0000 -> 0003)
[  190.570240] virtio-pci 0000:00:03.0: virtio_pci: leaving for legacy driver
[  190.579224] virtio_blk virtio5: [vdb] 62914560 512-byte logical blocks (32.2 GB/30.0 GiB)
[  190.585383] vdb: detected capacity change from 0 to 32212254720

ゲストOS側でmounttabにvdbデバイスをmounttabに追記すればいいのかなぁ?とか悩んでいるウチに仮想マシンがクラッシュしたので、追加したディスクを削除して実行。

仕方が無いから、WindowsのHyper-Vでディスク後付けの手順を確認してからやり直そう。

新規仮想マシン作成時で「ストレージプール」を指定する時も作成済みのボリュームファイルを指定する様なUIなので、指定の確認漏れ(≒ミス)=指定してしまった既存ファイルの破壊に繋がるから要注意だ。

  1. 事前にダミーファイルを作りUIを回避
  2. 【作成して編集する】ボタンで即実行を回避
  3. 正しいファイル名でディスクを追加
  4. ダミーファイルのディスク設定を削除
  5. 【実行】

こんな手順になるけど、こっちはちゃんとインストできた。




top