Pentium G4560の場合
i9-9900の場合
i7-3770Tの場合
しかし、急にWindowsUpdateがいくつか見つかり再起動すると、
この画面は、簡易表示です
しかし、急にWindowsUpdateがいくつか見つかり再起動すると、
単にマウスでサイズを変えられるdivタグのサンプル。※IE不可
resize: both を指定するだけ。
中の文字は white-space: nowrap; で自動改行しないモードがよさげ。
枠線をドラッグするには、 枠線をdivで描画しないとダメっぽい。
と思ったけど、JS使えば枠線ドラッグも可。
※IEやChromeでマウスをキャプチャする仕組みが不明瞭なので広げる時はゆっくり操作。
HTMLで【実行】とか【キャンセル】と文字だけのボタンは簡単に作れるけど、
【絵・テキスト】なボタンはAタグでしかできないらしい。
まず
<a href="" class="btn1">ボタン1</a>
a.btn1{
display:block;
text-align:center;
width:6em;height:1.5em;/*ボタンの大きさ*/
background:url(絵) no-repeat;/*絵/
background-color:#00913D;/*ボタンの色*/
text-decoration:none !important; /*テキストの下線消し*/
}
で作ると
だが、テキストの上下の余白をもっと取ると絵がSVGだったら絵がでかくなって困る。
CSSの仮想クラス:beforeを使って絵だけの設定をできるけど、
<a href="#" class="btn2">ボタン2</a>
を作り
a.btn2 {
padding: 0.5em;
margin: 10px 0;
display: block;
width: 6em; height: 1.5em; /* ボタンの大きさ */
color: #fff !important; /*テキストの下線消し*/
background: #00913D;
text-decoration: none;
font-weight: bold;
font-size:16px;
border-radius: 3px;
text-align:center;
}
a.btn2:before {
content: ""; /* 外すと絵が出なくなる(謎 */
display: inline-block; /* 絵とテキストを横に並べる */
width: 18px; height: 18px; /* 絵のサイズ */
margin: -3px 5px 0 0; /* 主にテキストとの間隔 */
background: url("絵") no-repeat; /* 絵 */
background-color:#00913D;
background-size: contain;
vertical-align: middle; /* テキストと縦位置調整 */
}
で、デザインを調整するとできる様だ。
絵を後ろに出すなら :after に変えればいい
しかしCSSの調整が大変過ぎる。
<a href="#" class="btn4"><img src="arrow.svg" class="img4"><span>ボタン4</span></a>
a.btn4{
background-color:#00913D;
text-decoration:none !important;
border-radius: 3px;
}
a .img4{
margin: 4px 5px 6px 5px; /*ちょっと絵を上に*/
width: 18px; height: 18px;
vertical-align: middle;
}
a span { vertical-align: middle; }
の方が楽かな
でも、デザインの全般的な見直し・・・とか来ると痛いなぁ
色々できる(ハズ
EXEからアイコンを取り出す方法をさがしていたら、PowerShellでもできるらしい。
※Ver6からはSystem.Drawing.Iconが無い様だ。Windows10はVer5だから動くけど。
しかし、文法が ソースっぽさとコマンドラインが混ざってる(メンドクサイ
例えば、PowerShellの窓を開き
元ネタ:https://suzuzusu.hatenablog.com/entry/2016/10/14/043726
###########################################################
# アイコンを抽出して保存
###########################################################
function ExtractionIcon(
$Path, # 抽出する .exe のフルパス
$OutFile # 出力する .ico のフルパス
){
# アセンブリロード
Add-Type -AssemblyName System.Drawing
Add-Type -AssemblyName System.IO
$str1 = "ExtractionIcon :Path=`"$Path`", :OutFile=`"$OutFile`""
$str1
# アイコンデータ抽出
$IconData = [System.Drawing.Icon]::ExtractAssociatedIcon( $Path )
# 出力用ファイルストリーム
$FS = New-Object System.IO.FileStream( $OutFile, [System.IO.FileMode]::Create )
# 保存
$IconData.Save( $fs )
$fs.Close()
# オブジェクトの始末
$fs.Dispose()
$IconData.Dispose()
}
と貼り付けると、
窓が開いている間だけ使える。(便利
しかし、この関数を呼び出す時はコマンドプロンプトっぽく
> ExtractionIcon "C:\Program Files (x86)\Sarad\DiCE\dice.exe" "a:\aaa\aaa.ico"
と打つ。
関数の中では、関数っぽく呼び出すのだから・・・
コマンドプロンプトから1コマンドづつ打って動作を確かめた後、
関数化する際には
のが面倒だな。
後、Windowsでパパっと使う都合上、デスクトップに貼る場合、
Join-Path $env:UserProfile\Desktop "sample.ico"
で済ましたいがOneDriveをインストしてしまうと、アンスコしてもパスが変わってしまうから
Join-Path [System.Environment]::GetFolderPath("Desktop") "sample.ico"
と書かないと動かないPCも出てくる。
更に、コマンドラインのパラメータの区切りは空白文字なのは常識なので
コマンドのパラメータにコマンドを使うと、 どっちのパラメータなのか判らなくなる。
〇 コマンド (コマンド パラメータ1 パラメータ2) パラメータ3
× コマンド コマンド パラメータ1 パラメータ2 パラメータ3
だから、パラメータにコマンドの戻り値を使うなら、PowerShellでは()で括る仕様になっている。
先のEXEからアイコンを取り出すコマンドをコマンドラインから呼び出すには
ExtractionIcon "C:\Program.....\xxx.exe" (Join-Path [System.Environment]::GetFolderPath("Desktop") "sample.ico")
となってしまう。
最後に、今のPowerShellはRestrictedで、スクリプトファイルは実行不可で、
一時的に許可するなら
> pwsh.exe -ExecutionPolicy RemoteSigned xxxx.ps1
ps1のショートカットの場合も
powershell -ExecutionPolicy RemoteSigned -File ${元の内容}
となる。
ま、当然何でもできるから危なっかしい。
いくらPS1を実行不可にしても気の利いたショートカットを作られたら・・・
結局、MSが作ると、
しかし、使い物になる様にバージョンアップすると
これは定説だな。
多分、こんな感じかな
な感じで使えばいいかな
ExcelでVBAエディタは ALT + F11 で開いていたが、
暫く振りに使ったら無反応だった。
仕様が変わったのかな?思ったら
NVIDEA GeForce Expressの中で「 ALT + F11 」をフックしていたせいだった。
普通は自分の画面上でしか 自分の ショートカットは有効にならないが
ゲームの画面をキャプチャ等をするには、
デスクトップ内で 自分の ショートカット を有効にする方法(ジャーナルだったかん?)を使うしかない。
このため「ゲーム内のオーバーレイ」で登録してある「ショートカット」は全てのアプリの 「ショートカット」 より優先されるのだ。
対処法で一番確実なのは
もし、Excelの操作をキャプチャで使ってるなら、
かな。
アカウント管理画面から公開キーをアップロードできるんだけど・・・
TeraTermで公開キーを使ってログインしようとすると
一瞬「Rejected」の文字が見え、直ぐにTeraTermが終了してしまう。
原因は、 アカウント管理画面が複数の公開キーを保存できる様な仕組みになっているけど、
command="/frontview/bin/validate-rsync" ssh-rsa AAAA・・・
となっているので、/frontview/bin/validate-rsync というコマンドを実行して即終了している。
※RSYNCのみなんだからこれで正解なんだろう。
しかも、管理画面で作成した ssh_authorized_keys ファイルは書き換えも上書きもできない。
COMMANDの中身のファイルを見ると、rsync形式のコマンドチェックになっているから、
$SSH_ORIGINAL_COMMANDの内容がrsyncコマンドっぽくないのでダメらしい
しかし、TeraTermから $SSH_ORIGINAL_COMMANDを送る方法が見当たらなし。
見つけてもrsyncのコマンドを実行するだけなんで意味は無さそう。
...
# Add Begin.
"")
RC_FILE=/home/`whoami`/.bash_profile # Need ".bash_profile" file.
exec $SHELL --rcfile $RC_FILE
;;
# Add End.
*)
echo "Rejected"
;;
esac
これで、 キーストアに「command=”/frontview/bin/validate-rsync”」が書かれているけど、インタラクティブな接続もできるようになる。
TeraTermから $SSH_ORIGINAL_COMMANDを送る方法があれば、rsync コマンド+ログインを送ればいいのかもしれない。
rsync --server****** ; exec $SHELL --rcfile /home/'whoami’/.bash_profile
しかし、問題が発生。今まで他のサーバーでやってる様に
※TeraTermで電子鍵を作成する
※TeraTermでパスワード認証でログイン
※TeraTermに公開キーをドロップする
# mv {公開キーファイル名} .ssh/authorized_keys
とすると公開キーでログインできるが、管理画面で公開キーをアップロードした後では
ドロップすると、先ssh_authorized_keysの「 /frontview/bin/validate-rsync 」が「rejected」してくる!
authorized_keysと ssh_authorized_keys は併用できるから
TeraTerm用とRSYNC用に分けて運用した方がよさそうだ。
やはりバージョンがあがっていたので、
# sudo wget https://nodejs.org/dist/v14.17.6/node-v14.17.6.tar.gz
# tar xvzf node-v14.17.6.tar.gz
# cd node-v14.17.6
# export CCFLAGS='-march=armv7-a'
# export CXXFLAGS='-march=armv7-a'
# sudo -E ./configure ※要python
# date; sudo -E make -j4 ; date;
Fri Sep 17 21:03:47 JST 2021
・・・
Fri Sep 17 23:04:00 JST 2021
最初は -j8 でやってみたら、盛りすぎてエラったらしい。
virtual memory exhausted: Cannot allocate memory
tools/v8_gypfiles/v8_compiler.target.mk:259: recipe for target '/home/{ユーザ}/node-v14.17.6/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/js-operator.o' failed
make[1]: *** [/home/{ユーザ}/node-v14.17.6/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/js-operator.o] Error 1
make[1]: *** Waiting for unfinished jobs....
では
# date; sudo -E make -j4 ; date;
Fri Sep 17 21:03:47 JST 2021
...
Fri Sep 17 23:04:00 JST 2021
バージョンが上がってたので、
# apt-get install build-essential libssl-dev
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-11.2.0/gcc-11.2.0.tar.gz
# tar xzf gcc-11.2.0.tar.gz
# cd gcc-11.2.0
# ./contrib/download_prerequisites
2021-09-17 00:49:04 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840/2383840] -> "gmp-6.1.0.tar.bz2" [1]
2021-09-17 00:49:06 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.6.tar.bz2 [1287202/1287202] -> "mpfr-3.1.6.tar.bz2" [1]
2021-09-17 00:49:07 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925/669925] -> "mpc-1.0.3.tar.gz" [1]
2021-09-17 00:49:09 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291/1658291] -> "isl-0.18.tar.bz2" [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.6.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.18.tar.bz2: OK
All prerequisites downloaded successfully.
# mkdir build
# cd build/
# ../configure --enable-languages=c,c++ --prefix=/usr/local/gcc-11.2.0 --disable-bootstrap
# date; make; date
Fri Sep 17 01:17:54 JST 2021
(中略)
Fri Sep 17 04:14:29 JST 2021
NASを再初期化したせいか、/etc/sudoers が無いので、sudoパッケージをインストしてからsudo設定。
# apt-get install sudo
# chmod +w /etc/sudoers
# vi /etc/sudoers
Defaults secure_path="/usr/l..."
↓
Defaults secure_path="/usr/local/gcc-11.2.0/bin:/usr/l..."
# chmod -w /etc/sudoers
# sudo vi /etc/ld.so.conf.d/arm-gcc-11.2.0.conf
で以下を追記。
# gcc-11.2.0 configuration
/usr/local/gcc-11.2.0/lib
gccのビルド&インストが終わったら・・・
# sudo ldconfig
/sbin/ldconfig.real: /usr/local/gcc-11.2.0/lib/libstdc++.so.6.0.29-gdb.py is not an ELF file - it has the wrong magic bytes at the start.
/sbin/ldconfig.real: /usr/lib/libreadycloud.so.1 is not a symbolic link
新たな敵が出現した?(かも
# ls -l /usr/lib/libreadycloud.so.1
-rwxr-xr-x 1 root root 86568 Jan 8 2021 /usr/lib/libreadycloud.so.1
これはsudoインスト・プロテクトなのか?
それよりもNAS上のエラーが出ている間、アプリのインストやアンスコが失敗判定になっていたから、
これで正しいんだろう。
ソースがかなりの容量(3GB近く)になっているので圧縮。
# tar cvzf gcc-11.2.0_pack.tar.gz gcc-11.2.0/
make install はソースを展開したディレクトリィに特化してる(ハズな)ので再利用時は注意。
おっと、ユーザをsudoグループに追加するのを忘れていた。
# gpasswd -a {ユーザ名} sudo
前回インストからしばらく経ったので、Node.js本家からVer14をインスト。
curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-armel/Packages' as repository 'https://deb.nodesource.com/node_14.x jessie InRelease' doesn't support architecture 'armel'
## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
## You may also need development tools to build native addons:
sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
今回もダメだった。一応 apyでもやってみたが
# sudo apt-get install -y nodejs
# node -v
v0.10.29
安定のVer0でした。ちゃんとお掃除しとこ。
# sudo apt-get remove -y nodejs
Node.jsの32Bit版はarmhf (ARM 32-bit hard-float, ARMv7 and up: arm-linux-gnueabihf)対応なのはそのまま。