Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

Androidタブレット、終活を始める

もうそろそろ寿命か

家に帰って、WiFiAndroid機のアップデートを数台まとめてかけているとAndroid 7のタブレットAndroid 8のSIMいれてないスマホのアップデートの数がなんか少ない。

で、ソフトのバージョンを見るといくつか違うものが出てきている。

これが、サポート切れか。PCだとアナウンスが結構ある上、それとなく動いているのを見るとサポート切れに気づかないケースも多いのではないだろうか。

ハードとしてはまだまだ動きそうだが、ソフトがなくなりつつある。そろそろ買い替えと既存のハードの終活を考える時が来たようだ。

さて、今日は寒いので布団に入りながら考えていこう。この文章もタブレットBluetoothキーボード、マウスで書いている。

用意するもの

USB MicroBやCのメスからUSB Aのメスに変換するコネクタ。

使い方によっては普段から使っている人も多いだろうが、特にオフラインになると使う機会が増えるので用意しておきたい。

制限稼働期

現在、うちはこの状態。まだアップデート受けられるものもあればKindleMS Office Mobileのようにアップデートを受けられなくなるものも出てくる頃。

アップデートを受けられるものについては受けるようにしてAPKのバックアップをとるようにし、アップデートが受けられないものに対して処理を行っていく。

まず、ネットワークがないとなにもできないものは使えないのでアンインストール。

次に、オフラインでも使えるけど、ネット接続するのは憚れるものはNo Root Firewallをいれてサポートが切れたソフトのネット制限接続を図る。ここに該当するのはまずはなにかと狙われそうなOffice Mobile。その後は挙動を見て随時制限をかけていくことになると思う。

ちなみに、No Root Firewallを知ったのは前格安SIMのデータSIMをいれたスマホGoogle開発者サービスが暴走してWiFiでないのにやたらと通信していたのを抑制したたときにいれたのがきっかけ。

オフライン期

ブラウザの対応が切れたらオフライン期。ここに来る頃にはソフトウェアも絞られるだろうからネットワークに接続するのはギリギリ動くものをアップデートするときぐらいになる。

ここでは、オフラインで使えるアプリだけを使うことになる。ネットワークを使ったファイルのやり取りは脆弱性の観点から制限し、外部の記憶媒体経由でファイルを持ってきて使うことになる。ここでUSB Aメスへ変換コネクタが役に立ってくる。FAT32/exFAT記憶媒体を介してデータをやり取りする。内蔵している記憶媒体も危うくなってくるのでバックアップは必須だ。

ケーブル接続と書かなかったのはケーブル接続してMTPでファイルを転送すると特にタブレットからPCにファイルを転送するときの動作がおかしいからである。例えば、Officeファイルだと思いっきり壊れるし。

幸い、うちの10.1インチタブレットではOffice Mobile使える他、テキストエディタの類いもキーボードとマウスがので簡易Officeマシンとか、案外音がいいのでメディアプレイヤーといったところを考えている。

タブレットに力をいれたAndroidが出るのはまだ先だがソフト寿命の方が早く来そうだ。ボーナス出たら10インチタブレットの購入を考えよう。

WinSCPでログインしているMicrosoftアカウント以外のアカウントのOneDriveに接続する

WinSCPでログインしているMicrosoftアカウント以外のアカウントのOneDriveに接続してみた

WinSCPでログインしているMicrosoftアカウント以外のアカウントのOneDriveに接続しようと思ったらはまったのでここに書いておく。

まずは基本的なWinSCPからOneDriveへのアクセス方法

WinSCPでは以下の設定を行うことでOneDriveにアクセスすることができる。

後は「設定」の「ディレクトリ」に/の後ろにブラウザでOnedriveにアクセスしたときのURLのCID=の後ろの文字列を足した物を書いてやる。
CID=HOGEHOGEとあった場合は/HOGEHOGEとなる。

後は、設定を保存して接続してやればWinSCPからOneDriveにアクセスできる。

どうせ、アクセス設定などはブラウザからしかできないのでWinSCPからOneDriveにアクセスすることで、OneDriveアプリを使わなくて済むのでメモリにも優しいし、設定によってはドキュメントフォルダを移されて一部アプリで訳わからない状態になることを防ぐことができる。素晴らしい。

どうせなら複数のOneDriveをWinSCPで管理したい

結論から言うと、コントロールパネルの資格情報マネージャーの汎用資格情報に次の情報を追加することで自分がログインしているMicrosoftアカウント以外のアカウントのOneDriveにアクセスすることができた。

汎用資格情報をクリックして、次の設定を入力する。

あとはWinSCPの設定を行うことで自分がログインしているMicrosoftアカウント以外のアカウントのOneDriveにアクセスすることができるようになる。複数のOneDriveを一度に扱う。実に便利だ。

なんでこんなことするのか

自分は歴史的経緯で複数のMicrosoftアカウントを持っていてOneDriveも複数使えるのだが、これらを使い分けていくのは実に面倒だった。

いちいちブラウザ落としてログインし直し?別ブラウザでアクセス?別のMicrosoftアカウントユーザーでログインしてそっちで扱う?どれも面倒くさい!

結局Windowsが持ってる資格情報だった

WinSCPでOneDriveアクセスできるようになったのでもう一つ登録してとやろうと思ったがうまくいかない。

なんか資格情報かなんかの問題でもあるのかとコントロールパネルの資格情報マネージャーを見てみるとうまくいったログイン中のMicrosoftアカウントのものなのか OneDrive Cached Credentialという物があった。

もしかするとこれにOneDrive WebDAVインタフェースサイトの資格情報でも入れてやればWinSCPがなんとかするだろうとと思ってやってみたらうまくいったというわけである。

これでOneDriveを素直に複数管理できて快適になりそうだ。

もう少しだけあがいてみる(MulSync Version 2.0.1)

道はまだ遠い

MulSync作り始めたのは2011年(東日本大震災後の混乱の中ノートPCで開発なんてこともやってました)。C#というか.NETの標準規約も知らず、JavaもどきのコードとWindows Formsの描画とロジックべったり、C#のおいしい機能は全然使わず、当時の配布環境的に有利だった.NET Framework 3.5で作るところから始まって、ここまでやってきた。

その間にベクターで紹介されたりしてもはや馬鹿にできないところに来ている上、売れ残りジャンクPC NASやポータブルHDDとのデータ同期でMulSyncはいまでもちょくちょく使っている。

そうして、初版から11年、きしみが今となって出ている。

  • 書き方が悪いのかWindows Forms+.NET Framework 3.5の範囲で作っているので高DPIにうまく対応できていない
  • .NET Framework 3.5の範囲で作っているのでC#のおいしい機能が使えず、パフォーマンスやメンテナンス性に難がある
  • Windowsのデスクトッププログラム製作用フレームワークがMVVMを指向した物ばかりとなり、新しいWindowsについて行くには画面べったりでは対応できない

といったところである。

のでここのところ向学を兼ねて大改修を行っている。今は、どのような方向に進んでもよいように描画とロジックを引き剥がしている最中である。道はまだ遠い。

とはいえ使っているのは今である

とはいえ、MulSyncを使うのは今であり、少しでも速く動くに越したことはない。

続きを読む

仮想Windows 11マシンのグラフィックを比べてみる

そもそも仮想マシンのグラフィックってどうよ?

自分はここのところ、Meiryo UIも大っきらい!!の検証を仮想マシンで行っているのだが、HYPER-V仮想マシンと言うこともあってか再現しない不具合に苦しんでいた。

再現する環境を聞いたところ実機でのテストということで、WDDM 2.0以上という環境だった。HYPER-V仮想マシン仮想マシン仮想マシン特例でWDDM 1.3ということもあり、その辺が再現するかどうかの鍵になっていそうだ。

VMWare Workstationはどうよ

VMWare WorkstationのWindows 11対応版出ないかなといろいろ見ていると(VMWare Workstation Player 16.2 一応Windows 11でも動いてますが、やはり正式版が欲しいところです)VMWare Workstation Player 16.2でWindows 11を普通に動かす方法ができたということでそれを試してみた。

どうせ試用版なのでエンタープライズ試用版でテスト。VMWare Workstation Player 16.2でWindows 11を普通に動かすことができ、VMWare Toolsでドライバも入った。

で、ドライバはどうかということで見てみたがこちらもWDDM 1.3。こちらも再現環境にはならなそうだ。残念。

せっかくだからグラフィックを比べてみた

ここで終わるのもつまらないのでVMWare Workstation Player 16.2とWindows 10のHYPER-V、どちらがグラフィック速いのよということで比べてみることにした。

今回の環境はこうである。

  • CPU:Core i5 9500 3コア割り当て
  • グラフィック:Core i5 9500内蔵
  • 解像度:1366×768

あとはHYPER-V側がWindows InsiderということもあってWindows 11でも違いはあるのだが、まあWindows 11同士ということでこれで行くことにした。

ドラクエベンチ

まずはドラクエベンチ。

VMWare Workstation Player 16.2では重い判定。この後で書く理由のためスコアのメモは消した。

次はHYPER-Vなのだが、ドラクエベンチ起動せず。これでは話にならないのでスコアのメモを消した。

仕方ないのでちはやローリング

これでは比較ができないので本来はCPU描画のテストなのだが、CPUの条件が揃ってるので後はグラフィック勝負になるということでちはやローリングで決着をつけることにした。解像度はWindows 11のタスクバーが太いので1366×768フルスクリーン。

で、結果。

  • VMWare Workstation Player 16.2 319700m
  • HYPER-V拡張セッション 328735m
  • HYPER-V基本セッション 動作せず

HYPER-V拡張セッションはリモートディスプレイのドライバなのだが、VMWare Workstation Player 16.2に約1万点差をつけた。とはいえ、CPU描画のテストなのでややリモートディスプレイのドライバの画面転送が速いという程度しかわからなかった。

結論

結論を言うと描画自体はドライバでは有意な差を見いだせないというかとりあえず映る程度という結果になった。

更にいうと現段階ではHYPER-Vのグラフィックドライバは日常使い専門でゲーム等の高度なグラフィックは想定してないということもドラクエベンチからわかった。

やはり、ハードが絡む事象はWDDM 2.0以上が必ずある実機でないと試せないようだ。

番外編

ソフト描画対ハード描画対決をやったらどうなるだろうかということでハードウェア描画(ここでは仮想ハードウェアだが)になるWindows XP仮想マシン1コアでもテストを試してみた。

結果、965835mと1コアでWindows 11に大差をつけるという番狂わせが起きた。

カジュアルな用途だとWin 32とかWindows Formsといったハードウェア描画前提に作られたアプリも多いので、こういったアプリをWindows Vista以降のソフトウェア描画で動かすとなると遅くなるのが目に見える。カジュアルな用途でWindows快適に使うならCPUにできるだけ金を振れという結論になりそうだ。

ポータブルHDDのXubuntuを仕上げる

テレワークPCの内蔵HDDがボロい

普段は自社に接続して勤務表をつけているノートPC。とはいえトラブル時などに普通のPCとして使いたいときもある。だが、こいつのHDD、稼働時間40000時間超えとボロい。 一方、NAS役PCのHDDを2Tに換装してローエンドNASでは実現しないウイルス対策付きNASじゃぁと言ったときに取り出したHDD、稼働時間も短く、内蔵HDDより全然安全である。すでに、XubuntuNAS用セッティングで入れていたのでノートPC使いたいときはこのHDDをUSB 3.0接続で使うことにした。

セッティング

まず、起動。これは自社に接続する際にUSBブートするシンクライアントLinuxを優先して起動しているので問題なし。 OS。せっかくだからということでXubuntuを22.04に上げた。 無線LAN無線LANは外付けなので保存していた記録をもとにドライバーを入れる。 最後に、grub。OSをアップデートしたりすると内蔵HDDのXubuntuまで出てきて紛らわしいので、人のページ見て、/etc/defaults/grubを以下のように書き換えて GRUB_DISABLE_OS_PROBER=true
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=-1
sudo update-grubしてやって、内蔵HDDのXubuntuを表示しないようにした。 これでテレワークPCを非常時やお出かけ時に安心して転用できるというものである。

LinuxでNVIDIAグラボ機を延命するのは面倒

う、動かない

サブのGeForce 8600GTをつけたWindows XP/Vista/7(これ全部DSP版)マルチブート機をサブで持っている。今まではファイルのやり取りにWindows 10を使っていたのだが、HDDなのでかったるいのとWindows 11 Insider用のライセンスを捻出するためにWindows 10をもぎ取ってパーティションの調整をして、手元にあったXubuntu 20.04を入れた。

のはいいが、肝心のXubuntuが動かない。ブラウザを立ち上げようものなら何もできなくなってしまう。てんで話になんねぇぜ。Xubuntu 22.04ならと思って出たところで入れたのだが、現象は変わらず。

ブラウザのようにグラフィックに負荷をかけると起きるので、どうもグラボが古すぎるようだ。Ubuntu系はプロプライエタリドライバを楽に入れられるのだが、GeForce 8600GTではすでにプロプライエタリドライバはない。プロプライエタリドライバがあるのはもっと新しいグラボが必要なようだ。代わりにnouveauが使われているのだが、サポート具合はイマイチのようだ。

XPが動く最後のグラボ

さて、サブの自作機には内蔵グラフィックスはない。ということでグラボが必要となるのだが、AMD系はよくわからないので、NVIDIAで調べてみると700番代が最後のXPが動くグラボのようだ。

ちょうど仙台市中心部に行く機会があったのでドスパラに寄るとGeForce GT730があった。これは渡りに船である。カジュアルユースなので丁度いい。というわけで即買い。もしなかったらUSBを使ったファイル転送ケーブルを使ってWindowsだけをまれに使うという動くのか怪しく、寂しい余生になるところだったので、有効に使えるのでよかった。

WIndows 3つのドライバを入れ替えて、いよいよXubuntu。で、Firefoxを動かす。おお、ちゃんと動く。システムが止まらない。流石にnouveauもこの辺はちゃんとサポートしているようだ。

まだ足りないものがある

FirefoxVivaldiYouTubeを見ることはできた。パフォーマンスも問題ない。普通に使うには問題ないかなと思って、手元の動画ファイルを見ようとXubuntu標準のPaloreメディアプレイヤーを使って手元の動画を見ようとするとPaloreメディアプレイヤーが落ちる。PaloreメディアプレイヤーはGStreamerフレームワークを使っているのだが、GStreamerフレームワークが使う機能にnouveauが対応していないのだろうか。設定が足りないのだろうか。VLCメディアプレイヤーでは再生できたのだが、せっかくのXubuntuなのでPaloreメディアプレイヤーを使いたい。

仕方がないのとnouveauちゃんと設定するの面倒くさいので、プロプライエタリドライバーを入れる。こちらはドライバがあった。入れて再起動するとPaloreメディアプレイヤーで手元の動画を見ることができた。ドライバ周りは鬼門のようだ。

結論

グラボ必須のマシンをWindows 10以降も見据えてUnix系で延命するんだったら動かすOSが対応している中で安いのでいいから新しいグラボ買え。

最後に

このGW、Windows 10/11を入れたメインマシンはテレワーク用スペースにした学習机でガチプログラミングをして、カジュアルブラウジングは設定の持ち込みなどで使い慣れたFirefoxと最初から機能満載でブックマーク持ち込めばなんとかなるVivaldiを入れて、データはNASっぽくセッティングしたノートPCを見るというやり方をしましたが、普通に使うには問題ないレベルまで行きました。

Xubuntu自体も見た目は変わらないけど画像ビューアーなどの細かい動きとかが良くなっていて満足できるので、Windows 11が動かないマシンだったら今装備を揃えて使ってみると良いと思います。文字とかの見た目もきれいな上、インタフェースも良くも悪くも枯れているので満足できると思います。

なので、もうグラボが必要だったら延命用の旧世代グラボが売ってるうちに買っておくなどしてデスクトップLinuxに慣れておくのは良い手かと思います。

電源入れたときだけNASを更にNASっぽくしてみた(Xubuntu 20.04)

IPアドレス打つのめんどい

HDDも2Tにして、ローエンドNASSSH越しの管理機能とアンチウイルスが付いた自作NAS PCであるが、一つだけ引っかかっていたことがあった。

IPアドレスうつのめんどい。」

それに、エクスプローラーのネットワークに出ないのもどうにも格好が付かない。

というわけでwsddを入れてみた。

wsddを入れる

Windows 10ではWeb Service Discovery methodを使ってネットワークに出るPCの一覧を取得するようになった。SambaにはWeb Service Discovery methodを扱えないので、今まではIPアドレスを直うちしていたというわけである。そこで登場するのがwsddで、これを使うことでLinuxでもWeb Service Discovery methodを扱えるようになるというわけである。

github.com

2023年現在ではUbuntuの眷属では

apt install wsdd
sudo systemctl enable wsdd
sudo systemctl start wsdd
ufw allow 3702/udp
ufw allow 5357/tcp

で使えるようになってたのね。

最後に

エクスプローラーのネットワーク欄にマシン名が出るといっぱしのNASって感じで気持ちが良いというものである。

Androidタブレットの終活を考えるとき

どうしたものか

2017年に買った10インチ、Android 7のタブレットがある。

大きさがあるので電子書籍、結構音がいいのでYouTube、画面がでかく起動しっぱなしなのでPC立ち上げるほどでもないけどスマホでは見づらいときの調べ物といった具合に結構役に立っている。

日帰り小旅行の電車待ち、病院の診察・会計待ち、Pokemon GOポケモン整理や戦況把握、その他スマホのワークロードのオフロードといろいろと役立っている。

けど、Android 7である。ソフトウェアのサポートも怪しくなってきそうだ。

スマートフォンだったらVLCのAPK保存しておいて音楽プレイヤーで決まりなのだが、タブレットだと何がいいんだろう?

USB-C持ってたら変換ケーブルとセルフパワードハブ組み合わせて外付け媒体組み合わせてといった具合で伸びしろがあるが、残念ながらMicro Bである。今更変換コネクタ買う気しない。

まあ、とりあえず、使えるうちは優先的にこき使おうか。

リモートワークごっこ

座椅子は疲れる!

Meiryo UIも大っきらい!! Version 3を作っていたときはMSXの頃から慣れ親しんだあぐらスタイルでやってたけどさすがにすごく疲れた。コロナ禍のテレワーク話でも座椅子スタイルは疲れるということでこれはちょっとと思っていた。

一方、個人の方では去年の10月までは部屋でのリモートワークで、会社もオフィス縮小のためにリモートワーク化を進めているので自分の方でもPCケースを変えたときに今まで使っていたケースをもの置き場にしたり、学習机ではマウスを使うと幅が足りないので段ボールと木の板でマウスパッドの幅を確保する机幅延長ユニットを作ったりしてリモートワーク対応を進めていた。

けど、去年10月から5ヶ月、客先での作業となったのでリモートワーク用のディスプレイなどが浮いていた。

そこでふと思った。個人開発をリモートワーク環境でやってみようかなと。

続きを読む

MulSync Version 2.0.0 The 1st step

さあ、始めよう

tatsu-syo.hatenablog.jp

で書いたとおり、最初のステップとして、MulSync Version 2.0.0をリリースしました。

先の記事で言っていた要件というのは、仮想マシン上のVisual Studioで作業したときに間違えてGitのリポジトリである.gitファイルを仮想マシン上のもので書き換えてリポジトリがおかしくなるというのを防ぐために同期方向を固定する機能を拡張して、ホスト上の.gitフォルダの中身をマスターにするための機能でした。

Meiryo UIも大っきらい!!事件を踏まえて、Windows 7仮想環境上のVisual Studio 2008を整備する中で間違えて.gitの中をぐちゃぐちゃにしないようつけた機能というわけです。

さて、逃げ道の仮想環境整えたのはいいけどVMWare Workstation系のWindows 11をホストにできるバージョンはいつ出るんだろう?Hyper-Vは古いOSのサポートがいまいちなので過去の資産継承には使えないんですよね。あくまで、現在のOS用の分離環境を提供するものというスタンスですし。

閑話休題。ただ、このために設定ファイルの内容が一部変わるということで設定ファイルに一部後方互換性がなくなったのでセマンティックバージョニングの原則に従ってメジャーバージョンを上げたというわけで、番号だけはメジャーバージョンアップですが、設定ファイルを除けばバージョン1.14.0でよかった程度の内容です。

ともかく、これで使える範囲で.NET Framework 3.5と縁が切れるぞ。

続きを読む