2024年2月20日火曜日

ubuntu 22.04 リモートデスクトップ xrdp

 先月、「ubuntu 22.04 リモートデスクトップ」について、ブログに書きました。

https://cikou.blogspot.com/2024/01/ubuntu-2204.html


モニタを繋いでいないと、リモートデスクトップが繋がらないので、上記の方法はあきらめました。

上記の方法でも、あと、一手間、何か設定すれば問題がなさそうですが。


素直に、長年、使っているxrdpを設定することにしました。


とりあえず、自動ログインを無効に設定し直し。


xrdpをインストール

sudo apt install xrdp


リモートデスクトップでは、画面表示が違いましたが、これだけ、正常なら気にしない(笑)


ログイン時に、カラーマネージメントの認証などが求められ、面倒なので、対策。

私は、emacsを使うので、

sudo emacs /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla


[Allow Colord all Users]

Identity=unix-user:*

Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile

ResultAny=no

ResultInactive=no

ResultActive=yes


[Allow Package Management all Users]

Identity=unix-user:*

Action=org.debian.apt.*;io.snapcraft.*;org.freedesktop.packagekit.*;com.ubuntu.update-notifier.*

ResultAny=no

ResultInactive=no

ResultActive=yes


これで、解決。


最初、妙な位置に改行が入って、設定が有効になりませんでしたが、修正して解決しました。

xrdpの設定も、昔に比べると簡単になってきました。


ubuntu 22.04 リモートデスクトップ 失敗

 先月、「ubuntu 22.04 リモートデスクトップ」について、ブログに書きました。

https://cikou.blogspot.com/2024/01/ubuntu-2204.html


この時は、これで、離れていても操作できると喜んだのですが、やりたいことができませんでした。


やりたかったのは、モニタ、キーボード、マウスなどを繋がずに、他のパソコンから操作することでした。

しかし、上記の設定では、それができません。

モニタを繋いでいないと、リモートデスクトップ接続ができません。


素直に、xrdpを使おうかと考えています。

2024年1月22日月曜日

3年放置したdockerが動かない

 3年ほど前に作ったdockerの開発環境ですが、久しぶりに動かそうとしたら、動きません。


まず、Windows11の更新。

Docker Desktopの再インストール。


これで、開発環境は動くようになりました。


プログラムを修正した後、実行環境で、dockerのコンテナを起動しようとしましたが、エラー発生。


今の状況に合わせて、修正するしかないようです。


2024年1月19日金曜日

CHUWI LarkBox x2023 デュアルブート

 CHUWI LarkBox x2023に、Windows11をクリーンインストールの後、Ubuntu 22.04をデュアルブートできるようにインストールしました。


具体的には、Windows11のパーティションを縮小し、空きを作り、そこに、Ubuntu 22.04をインストールしました。

その後、BIOS設定で、起動するブートパーティションを設定することで、デュアルブートできるようになりました。



1台目ができたので、2台目も同じように、デュアルブートにしようとしましたが、こちらは断念しました。

元々インストールされているWindows11では、Ubuntuのインストールで、GRUBの書き込み時にエラーが発生するため、デュアルブートできません。

面倒になったので、使わないWindowsは、削除し、Ubuntuのみにしました。

Windows11のプロダクトキーは、メモしておいたので、Windowsが必要になったら、インストールできます。

これで、すっきり。


P.S.

Ubuntuのインストールは、素直にはいきませんでした。

インストーラーを起動した後、パーティションのツールを使って、あらかじめ、SSDの中を削除しておかないと、インストールに失敗します。

インストールのウィザード内で、パーティションを削除しても、だめでした。

これで、GRUBの書き込みエラーの理由が、なんとなく、分かります。

通常のインストールでは残ってしまうSSDの領域に、Windowsの残骸が残っていて、邪魔をするようです。

保護が働くのでしょう。

Windowsに対して、Windowsをインストールするなら、書き込みが許可されますが、Ubuntuでは、拒否されるのでしょう。

2024年1月16日火曜日

HP Smart 勝手にインストールされた

 画面上に、突然、「HP Smart」が、パソコンに変更を加えることを許可するダイアログが表示され、びっくりしました。

Windows10に、勝手に、「HP Smart」がインストールされていました。


すぐに、アプリは、削除、

でも、マイクロソフトが対応するまで、復活するんだろうな。


Windowsは、勝手に、アプリをインストールするところが嫌いです。


2024年1月9日火曜日

ubuntu 22.04 リモートデスクトップ

 これまでも、linuxで、リモートデスクトップを使ってきましたが、ubuntu 22.04では、簡単でした。

設定から、共有タブで、リモートデスクトップを、オンにして、コントロールをオンにして、パスワードの設定で、接続できました。


ただし、そのままでは、この設定画面を開いた状態でなければ繋がりません。

起動するたびに、パスワードが変更されます。


これでは不便なので、

まずは、電源ONで、自動ログインまで行うように設定。

スリープなどは、させないように設定変更。

パスワードの問題を解決するため、アプリの「パスワードと鍵」を起動し、ログインで、右クリック。

パスワードの変更を行い、パスワードを、空に変更しました。

これはこれで、セキュリティが気になりますが、リモートデスクトップを使うパソコンに、セキュリティが問題となるデータを置かなければ問題なしと判断しました。


これで、電源を入れるだけで、他のパソコンからリモートデスクトップで接続して、操作できるようになりました。


2024年1月7日日曜日

CHUWI LarkBox x2023

 「CHUWI LarkBox x2023」を購入しました。

Intel N100を搭載した小型のパソコンです。

メモリ16GB、SSD 500GBでも、3万円未満で購入できます。

他社でも、同等の製品は発売されていますが、一番、名前を聞くメーカーを選択しました。


このあたりの価格の製品になると、メーカーによっては、OSが、VL(ボリュームライセンス)ということもあるそうです。

CHUWIは、そこそこ、大手ですから、OEM版のWindows11 Homeがインストールされていました。


Ubuntuのインストールなど、セットアップを行っただけですが、正常に動作しています。


Windows11とのデュアルブートを計画していますが、これは、なかなか難しく、まだ、うまくいっていません。


Windows11のドライバ関係を、バックアップした後、Windows11のクリーンインストールを行いましたが、問題なくできました。


Ubuntu 22.04のインストールも、インストールまでは問題ありません。

Windows11のディスク管理で、パーティションを縮小して空きを作った後、Ubuntuを併用する形でインストールできました。


しかし、問題は、Ubuntuを起動するには、

・BIOSで、ブートドライブを指定する

・Windows11を起動した後、shiftを押しながら再起動で、Ubuntuの起動ドライブを設定する


のいずれかの方法を使うしかなく、UbuntuをデフォルトのOSに設定できずにいます。

このあたりは、調査中です。

2023年5月30日火曜日

VMwareのゲストOSを、Windows10からWindows11へアップグレード

 VMwareのゲストOSを、Windows10からWindows11へアップグレードしました。


・VMware workstation proのバージョンを、17に更新。

・仮想マシンのバージョン(ハードウェアの互換性)を17.xに変更。

・仮想マシンの「アクセスコントロール」項目で、暗号化。

・仮想マシンに、「Trusted Platform Module」を追加。


この状態で、仮想マシンのWindows10を起動する。

Windows PC 正常性チェックを行うと、Windows11をインストール可能と表示される。


これで、数日待つと、Windows Updateが、Windows11のインストールを促してくる。



1台目は、このまま、Updateで、Windows11へ更新できましたが、2台目は、いつまで待っても、Windows11がインストールできる状態になりませんでした。

仕方ないので、MicrosoftのHPで、"Windows 11 Installation Assistant"を検索して、ソフトウェアをダウンロードしました。

このソフトウェアを使って、Windows11へアップグレードしました。



ゲストOSでのWindows11の第一印象、ソフトの起動が、かなり、遅くなりました。

暗号化を無効にした方が良いかもしれません。

2023年3月14日火曜日

VMware Workstation 17 Pro 17.0.1 不具合

 VMware Workstation 17 Proを、17.0.1に更新したところ、不具合が発生しました。

仮想マシンに、Ubuntuを使っていますが、LANをブリッジに設定すると、ネットワークが繋がりません。

NATに変更すれば繋がります。

ブリッジ接続の場合、静的に設定すれば繋がるという情報もあります。



VMwareは、定期的に、この不具合が発生して困ります。

2022年1月2日日曜日

Thunderbird で、gmailを受信できなくなった

 メールソフトのThunderbirdで、gmailの受信ができなくなりました。

セキュリティで、はじかれるようです。

ブラウザで、gmailにアクセスすると、メールが届いていて、セキュリティではじかれた形跡がありました。


gmailのサーバー設定は、昔、設定した状態で使い続けていました。

おそらく、今年になって、古い設定でのアクセスを禁止したのでしょう。

サーバー設定を、新しい方法(OAuth2)に、変更しました。

(サーバー名も変更)


受信を行うと、ブラウザが開き、gmailのログインが促されました。

この後、3つの選択肢が表示され、これは、意味が分かりません。

とりあえず、真ん中の選択肢を選んだのが良くなかったのか、面倒なことになりました。

通常なら、パスワードを入力すれば、大丈夫だったのですが、スマートフォンのgmailアプリを使うように指示されました。

スマートフォンを持っていないと、設定できなくなったのでしょうか?

たぶん、アクセス記録に、iPhoneでのアクセスがあることから、こちらによる認証を優先したのだと思います。しかし、そうでなかったら、スマートフォンを持っていないと、今後は、Thunderbirdを利用できなくなります。


不安になったので、Supportページを見ました。

しかし、Gmailアカウントの設定方法は、youtube動画が、エラーを出していて、見ることができません。

これは、私と同じような状態になった人が、調べにきて、アクセスが集中しているのかもしれません。


仕方なく、もう一度、スマートフォンを用意して、設定をやり直しました。

Thunderbirdで受信を行うと、ブラウザが開きますから、ログインします。

次に、スマートフォンのgmailアプリを開きます。ブラウザのgmailを使ってはいけません。

すると、説明にあったように、数字の選択を指示されますから、正しい数字を選択しました。

これで、認証が行われ、無事に、設定を終えました。


Tunderbirdで、gmailを扱えるようになりました。

2021年12月21日火曜日

Windows11 マルチディスプレイで、ソフトを動かせない

 Windows11に移行できるパソコンは、全て、Windows10から移行しました。

残っているのは、ハードウェアの要件を満たさないものだけです。


Windows11にして、困ったこと。

ノートパソコンに外付けのモニタを繋ぎ、マルチディスプレイにしています。

外出先では、ノートパソコンのみとなります。

マルチディスプレイで、外付けのモニタ側に、ソフトを表示していると、ノートパソコンのみとなったとき、表示エリアから外れてしまい、ソフトが起動しているのに見えない状態になることがあります。

Windows10の時は、昔は、このような仕様でしたが、最近では、強制的にノートパソコン側のモニタに移動させるようになっていました。

それが、Windows11では、元に戻ってしまったようです。

Windows11では、マルチディスプレイ周りの設定が増えていますので、設定を変更すると良いのかもしれません。


このようなことになったとき、隠れてしまったソフトを、表示エリアに戻す方法は、

・下のタスクバーに表示されるソフトに、カーソルを合わせ、右クリックメニューから、「移動」を選択。カーソルで移動させる。

・下のタスクバーに表示されるソフトに、カーソルを合わせ、ソフトを選択。Shift+Win+カーソルキーの組み合わせで、動かす。


この2つの方法がありますが、これに対応していないソフトもあります。

こうなると、モニタを繋ぐ方法しか思いつきません。

2021年12月10日金曜日

OneDrive 接続に失敗 0x8004de40

 OneDriveでエラーが発生しました。


OneDriveに接続するときに問題が発生しました

インターネット接続を確認し、もう一度やり直してください。

エラーコード 0x8004de40


エラーコードは忘れましたが、こういったエラーは、しばしば発生しています。

経験的に、businessの方が、よく発生しているような気がします。


ノートパソコン(Windows10)と、デスクトップ(Windows11)で、同時発生。


今回は、デスクトップは、放置で解決。

ノートパソコンは、OSの更新で解決。


原因は謎です。

Windows10の更新 OneDriveで困った

 Windows10の更新がありました。

ダイアログで、OneDriveの項目があり、うっかり、設定を選択してしまいました。

私は、ノートパソコン、デスクトップ、仮想マシンと、複数のWindows10や、Windows11を持っています。

それぞれのデスクトップやドキュメントは、その環境に合わせた状態にしているのに、OneDriveをインストールすると、勝手に、共通にしようとしてきて困ります。


今回、Windows10の更新時に、メッセージが表示され、ブラウザの設定、Micorsoft365の購入などの画面が、次々に表示されました。

この中で、うっかり、OneDriveを持っているので、「利用する」という設定を選び、どうやら、OneDriveの設定が、初期化されてしまったようです。

デスクトップには、他の環境のアイコンが並び、OneDriveでは、競合が発生している様子。

だから、「こんな機能、デフォルトにするなよ」と、いつものように、怒りが。

OneDriveの設定変更と、競合の解決という、余計な手間が増えました。

それだけなら良かったのですが、大事なデータが消されてしまいました。


2021年11月25日木曜日

docker mysql用docker-compose.ymlの記述

 私なりのmysql用のdocker-compose.ymlの記述を決めました。

ここに至る経緯は、なかなか大変でした。



ファイル構成


docker-compose.yml

mysql/Dockerfile

mysql/mysql.env

mysql/conf/my.cnf

mysql/init/01_create_tables.sql



mysql.env


MYSQL_ROOT_HOST=%

MYSQL_ROOT_PASSWORD=パスワード

MYSQL_USER=ユーザー名

MYSQL_PASSWORD=パスワード

MYSQL_DATABASE=データベース名



docker-compose.yml

一部、抜粋

services:

  mysql:

    build:

      context: .

      dockerfile: ./mysql/Dockerfile

    container_name: コンテナ名

    env_file: ./mysql/mysql.env

    environment:

      - TZ=Asia/Tokyo

    expose: 

      - "3306"

    restart: always

    volumes:

      - mysqldata:/var/lib/mysql



Dockerfile


FROM mysql:8.0

COPY ./mysql/conf/* /etc/mysql/conf.d/

COPY ./mysql/init/* /docker-entrypoint-initdb.d/




ファイルの扱い

最初、Dockerfileを用意せず、docker-compose.ymlファイルのvolumesに、my.cnfファイルなどを記述していました。

例えば、

./mysql/conf:/etc/mysql/conf.d/:ro


この場合、コンテナ起動時に、my.cnfファイルが読まれず、エラーが発生しました。

ファイルのパーミッションを変更するか、コンテナ内のmysqlユーザーのUIDを、ファイル所有者と一致させるかすれば、エラーを回避できます。


しかし、この方法は、docker-compose buildを実行する前に、ファイルパーミッションの変更作業か、ファイル所有者のUIDを.envファイルに書き込む手間が必要になります。

後者は、工夫すれば、不要かもしれません。


windowsのWSLで開発し、linuxで実行することを考え、このあたりの処理を不要にするため、コンテナ内に、ファイルをコピーする方法で回避しました。




文字コードの設定


mysqlのコンテナでは、文字コードをutf8mb4に変更する必要があります。

mysql 8.0では、デフォルトの文字コードだと思っていましたが、コンテナでは、latain1になるので、設定変更が必要でした。


この変更は、my.cnfファイルを用意するか、docker-compose.ymlのcommand項目で設定できます。


my.cnfファイルの方が見やすくなるため、こちらの方法を採用しました。


他にも、ポートの公開方法、タイムゾーンの設定など、方法が複数ある中で、上記の記述を選びました。

2021年11月17日水曜日

Docker MySQL

 MySQLのDockerコンテナを動かせました。

これまでも、動かしてはいましたが、設定に誤りがあり、正常には動いていませんでした。


my.cnfファイルのファイル名の問題。

このファイル名を、my.confと、間違っていました。

これにより、このファイルの設定は、コンテナに影響を与えない意味のない設定になっていました。

後で、分かったことですが、このファイルの記述に誤りがありました。

この影響で、my.confというファイル名の時には、設定が無視されることで、コンテナを起動できたのに、my.cnfに変えて、設定が有効になることにより、設定のミスから、コンテナを起動できませんでした。

ファイル名を間違えていたことで、動いていたという、なんともな話でした。


my.cnfの設定ミスは、下記の1行でした。

lower_case_table_names=1


過去のデータベースは、Windowsで動かしていて、Linuxへの移行中です。

Windowsのプログラムでは、テーブル名などに、大文字を使っていて、そこから、小文字へ統一しつつある過渡期です。

データベースで、大文字、小文字の区別があると、Windowsでは動くのに、Linuxでは動かないことになりますから、この設定で、大文字、小文字を区別しないのは助かる機能だと思いました。

しかし、これを設定すると、コンテナが起動しません。

この設定は、諦めることにしました。


わずか、これだけのことですが、これに気づくのに、長い時間が掛かりました。


2021年11月15日月曜日

Docker Windowsでは難しい

VMwareの仮想マシンで、開発環境を構築してきましたが、 Dockerでの開発環境に取り組んでいます。

Windowsに、WSLを導入し、dockerを使っていますが、この環境で動く、docker-compose.ymlが、ubuntuに持っていくと動きません。

原因は、主に、ファイルのパーミッションです。

docker内のユーザーと、ホストのユーザーが異なるため、アクセスできるように、設定を気をつけないと、ubuntuでは動きません。

ユーザーは、

・ホスト?側のファイルを所有するユーザー

・dockerを起動するユーザー

・コンテナ内で、サービスを起動するユーザー

この3つが関わるため、面倒でした。

ファイルの所有ユーザーと、コンテナ内のユーザーの違いについては、情報を、よく見かけますが、dockerのコンテナを起動するユーザーは盲点でした。

*.envで、環境変数(コンテナ内のデータベースのユーザー名、パスワード)を管理しますが、このファイルが、コンテナ内に反映されず、悩みました。

面倒なので、関係のあるフォルダは、下記のコマンドで読み込み権限を与えて解決しました。

$ chmod +r -R フォルダ名

セキュリティを考えれば、UIDを一致させるなどした方が良さそうですが、妥協しました。


また、mysqlでは、my.confとmy.cnfの名前の違いも考慮する必要がありました。


おそらく、ubuntu側で、dockerファイルを作成し、windowsに持っていく流れであれば問題ないと思いますが、逆は、はまりました。


2021年11月12日金曜日

HTML checkbox プログラムで値を設定できない

 HTMLのcheckbox

<input type="checkbox" id="foo" checked>


これを、プログラムで、値を設定しようとして、できませんでした。


const elements = document.getElementsById("foo");

elements.checked = false;


このような感じで、true、falseを設定すれば、通常は、チェックのオン、オフができます。
しかし、Promise内で、非同期で行ったところ、表示は変わりませんでした。内部で保持されている値は変更されるので、formで、データを送ると、変更は反映されています。
どうやら、表示だけ変わらないようです。

どの言語?か忘れましたが、画面を構成するパーツについて操作するときは、画面操作のスレッドで行わなければならなかったように思います。
Javascriptのことだっけ?と、調べてみましたが、その情報は見つかりませんでした。

内部データが、表示に反映されていないようでしたので、refresh的な、メソッドがないか調べてみましたが見つかりません。

そもそも、checkedの属性は、初期設定に使うもので、後から、プログラムで変更するのは良くない処理なのかもしれません。
属性、プロパティも調べましたが、結局、あきらめました。
プログラムで変える方法があるとすれば、create系で、DOM構造を構築すれば良いかもしれないと考えています。

今回の解決策は、サーバー側で、check状態を設定します。

2021年10月23日土曜日

OneNote for Windows10 で、ノートが開けない

 OneNote for Windows10 で、ノートが開けないで困っていましたが、解決しました。


現象としては、開くときに、リストの中に、ノート名があり、それを選択しても、


「申し訳ございません お探しのノートを開けませんでした ノートが移動または削除されたか ノートを開く権限がない可能性があります」

と表示され、開けません。


また、リストの中には、同名のノートがあり、つまり、リスト内に2つ以上の同名のノートが表示されます。

リスト内の最終アクセス日?が、今日、修正したノートなのに、古い日時になっています。別の端末で修正したため、異なる人による修正として認識されているのかもしれませんが、釈然としません。

また、同名の2つのノートの日時は異なっています。


Web版のOneNoteで、対象のノートを開き、それを、メニューのアプリで開くを選ぶことで、アプリで開くことができました。



憶測ですが、古くから、OneNoteや、OneDriveを使っているため、サービスの更新のタイミングで、ファイル管理の方法が変わり、古いなごりが残っているのではないかと考えています。

2021年9月10日金曜日

ぷららのメールが遅延する

 ぷららで、2つのメールアドレスを持っています。

2つ目のメールアドレスを企業向けに利用していますが、メールが遅れて届くので困っています。

企業サイトへの登録では、メールアドレスの確認を求められることがありますが、メールが遅延するため、メールアドレスの確認ができません。

企業サイトによっては、時間切れで、認証できないことがありますし、何より、さっさと済ませたいのに、先に進めず、イライラします。

今日は、20分ほどメールが届くの遅れました。


対策としては、ぷららのメールを使わず、gmailを使っています。

こちらは、すぐに届くので、メール認証は問題ありません。


2021年7月26日月曜日

OneNote 競合が発生する

 OneNoteを愛用しています。

便利なソフトですが、困ったことが、ひとつ。

複数の端末から、OneNoteノートを利用すると、競合が発生します。


競合があると、メッセージが出る場合と、ページに、@日付の名前が付く場合があります。


競合の発生は、ブラウザと、アプリを使う場合に、発生しやすいように思います。

また、モバイルネットワークを利用する、外出先で使用すると、発生しやすいです。


これは、OneNoteのデータをローカルに保存する方法に問題があると思っています。

推測ですが、OneNoteのファイルは、OneDriveのファイルの扱いになり、外出先では、課金ネットワークに接続しているため、クラウドサービスに保存されないのではないかと思っています。

このような、ワンクッションをおく同期の仕組みになっているため、クラウドとの同期に、失敗することが多発するのではないかと思っています。


おそらく、解決方法としては、モバイルネットワークを、課金ネットワークとしなければ、もっと安定すると思います。

しかし、そのような設定にすると、Windowsの更新が、外出先でも発生する恐れがあり、そうなると、モバイルの契約容量を超えてしまいます。


結局、OneNoteへのアクセスは、複数の端末から行うことを禁止するしかありません。

これでは、魅力半減ですが、後々、競合の解決を行う手間を考えると、仕方ありません。