Tab Mix Plusが使えなくなって以来、いろいろ不便。
サーチ窓: browser.search.openintab;true ブックマーク: browser.tabs.loadBookmarksInTabs;true アドレスバー: browser.urlbar.openintab;true
ついでにメモ。これをしないと、起動後にタブをクリックするまでページが読み込まれない。
browser.sessionstore.restore_on_demand;false
Tab Mix Plusが使えなくなって以来、いろいろ不便。
サーチ窓: browser.search.openintab;true ブックマーク: browser.tabs.loadBookmarksInTabs;true アドレスバー: browser.urlbar.openintab;true
ついでにメモ。これをしないと、起動後にタブをクリックするまでページが読み込まれない。
browser.sessionstore.restore_on_demand;false
Linuxの日本語マニュアルを最新化する。
1.https://linuxjm.osdn.jp/download.html から全体のアーカイブをダウンロードして解凍
2.make config して適当に答える。全部インストールすると指定する
⇒ installman.sh が出来る
3.インストール済みのマニュアルのみ更新するように、インストールコマンドを抽出
#!/bin/sh # manファイルは /usr/share/man に、日本語manファイルは /usr/share/man/ja にあり、gzipされている前提 find /usr/share/man -type f | awk ' FILENAME=="-"{w=$1;sub(/\.gz$/,"",w);man[w]=1;next} FNR==1{ORS="\n\n";print;next} { split($0,line,/\n/) split(line[4],word,/ /) if(word[3] in man) { print;next } sub(/\/ja\//,"/",word[3]) if(word[3] in man) { print } } ' - RS= installman.sh > my-installman.sh
4.更新実行。sudo sh my-installman.sh
5.whatisDB更新。sudo makewhatis
これを自動化すべきか。
for %%A in (A B C D E) do call :sub goto :EOF :sub for %%B in (1 2 3 4 5) do echo %%A-%%B
レキシカルには :sub は、for %%A のループの外だが、%%A が参照できる!
今まで、引数で渡してました。なんてことだ。
しかし、goto すると %%B だけでなく %%A も参照できなくなる。
まあ、これはしょうがない。
@echo off for %%A in (A B C D E) do call :sub goto :EOF :sub for %%B in (1 2 3 4 5) do ( echo %%A-%%B goto foo ) :foo echo %%A-%%B
ファイアーウォールの中でProxyサーバー経由で、CentOS7にMastodonをインストールするときのメモ。
1.DockerデーモンのProxy設定
★/etc/systemd/system/docker.service.d/proxy.conf に
[Service] Environment="HTTP_PROXY=http://prox-hostname:port/" Environment="HTTPS_PROXY=http://prox-hostname:port/"
というファイルを作って、
systemctl daemon-reload
systemctl restart docker
で反映して、
docker info
で、Proxy情報が表示されることを確認する。
2.コンテナにに対してのProxy設定
Mastodonインストールディレクトリにある .env.production に、
http_proxy=http://prox-hostname:port https_proxy=http://prox-hostname:port
を追加する。
3.apk や npm や yarn に対してのProxy設定
Mastodonインストールディレクトリにある Dockerfile に、環境変数を追加してみる。
ENV https_proxy=http://prox-hostname:port ENV http_proxy=http://prox-hostname:port
しかし、これではapkのhttpsに対して効かない(何故??)ようなので、リポジトリのURLをhttpに変更する。
RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \ ↓ RUN echo "@edge http://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
これで、apkはOK。
npmが環境変数を見ていないようなので、proxy設定を追加する。
&& npm config set proxy http://prox-hostname:port \ && npm config set https-proxy http://prox-hostname:port \
yarnはコマンドラインで指定する。
&& yarn --proxy http://prox-hostname:port --https-proxy http://prox-hostname:port --ignore-optional \
出ないのでは無いかと言われていたRubyInstaller2.4が出た。
ネイティブgemsのインストール用に、従来はDevKitというパッケージが用意されいていたが、今回からはインストーラーにMSYS2のインストーラーが含まれている。メニューで1,2,3と選べるようになっているので、順に実行する。それなら、全部自動で実行すればいいのに。
MSYS2インストール時のProxy越えは、環境変数 http_proxy https_proxy で。変数名は小文字であることが必要。
パッケージマネージャーは、pacman と言うコマンドで、アップデートやインストールが出来る。gemsのコンパイルで必要なパッケージをpacmanで追加インストールする。https://ja.wikipedia.org/wiki/Pacman
スコアがどこに入っているかを調べると、%APPDATA%\Microsoft Games の下のゲーム毎のフォルダーに格納されている。
ソリテアだと、%APPDATA%\Microsoft Games\Solitaire\SolitaireSettings.xml
ゲーム名のフォルダーは、Explorerから見ると「ソリテア」と片仮名になっているが、実際にはSolitaireと英字だ。Usersと「ユーザー」のようなもの。
拡張子がxmlになっているが、xmlの前後に何か付いていて、そのままではxmlパーサーで読めない。
そこで、
勝ち数、試合数、勝率をホームディレクトリの下のゲーム名のフォルダーに日付を付けて記録する。
これをタスクマネージャから毎日実行すれば良い。
require "rexml/document" ROOT= "<Root>".encode("UTF-16LE").force_encoding("ASCII-8BIT") TOOR="</Root>".encode("UTF-16LE").force_encoding("ASCII-8BIT") def game(name, tag) name1 = name.gsub(/\s/,"") file=File.join(ENV["LOCALAPPDATA"],"Microsoft Games",name,"#{name1}Settings.xml") outf =File.expand_path("~/#{name1}.txt") data = open(file,"rb",encoding:"ASCII-8BIT").read text = data[/#{ROOT}.*#{TOOR}/m].force_encoding("UTF-16LE").encode("UTF-8") doc = REXML::Document.new(text) played = doc.root.get_elements("//#{tag}/GamesPlayed")[0].text.to_i won = doc.root.get_elements("//#{tag}/GamesWon")[0].text.to_i out = [Time.now.strftime("%F"),played, won, won.to_f/played.to_f].join("\t") open(outf,"a"){|f| f.puts out} end game("Solitaire", "NoTimeScoringStats") game("Hearts", "Stats") game("Spider Solitaire", "StatsIntermediate")
google-api-clientを使ったスクリプトをRubyw.exeで動かしているが、起動時に一瞬だけコマンドプロンプト画面が出る。本当に一瞬なので何が出ているのかも見えない。
ということで、少しずつ実行してみて原因が分かった。
\google-api-client-0.10.1\lib\google\apis\version.rb で、
OS_VERSION = begin if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/ `ver`.sub(/\s*\[Version\s*/, '/').sub(']', '').strip
`ver`とコンソールプログラムを実行している。しょうがないので、とりあえず、
OS_VERSION = begin if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/ "Microsoft Windows [Version 6.1.7601]".sub(/\s*\[Version\s*/, '/').sub(']', '').strip
に書き換え(Windows7の場合)。
そもそもOS_VERSIONをどこで使っているのかみると、User-Agent文字列を作るところだけ。要らない〜〜