- 投稿日:2021-01-14T23:28:11+09:00
Google日本語入力の辞書をWindowsとMacで共有クラウド管理
クラウド上で辞書ファイル(とおまけ)を管理する。ここではGoogle Driveをローカルフォルダとして同期させている場合を想定する。
Windowsの場合
シンボリックリンクを使って、あたかもGoogle日本語入力アプリケーションが読み込むフォルダ内(
C:\Users\ユーザー名\AppData\LocalLow\Google\Google Japanese Input\
にクラウド上の辞書ファイル(user_dictionary.db
)が存在するかのように設定したかったが、Google日本語入力の辞書ツールを複数台のPCで同期(共有)する方法を見る限り、非常に面倒くさそうなので、次の方法を採用する。クラウド上の辞書ファイル(
user_dictionary.db
)が存在するフォルダは、C:\Users\ユーザー名\GoogleDrive\Documents\Manage_user_dictionary
とする。
Google日本語入力のユーザー辞書を複数のPCで同期する方法に沿ってバッチファイルを作成、起動時のタスクも作成
シャットダウンも行うバックアップ用のバッチファイルをショートカットキーで実行できるようにする
- たとえば、ファイルを右クリック
- ショートカットを作成
- ショートカットを右クリック
- プロパティでショートカットキーを登録(たとえば、Ctrl+Alt+4)
- このままだと誤作動しかねないので、バックアップ用のバッチファイルの先頭に、バッチ実行時にメッセージを出して処理の続行を確認する方法のような確認メッセージ表示スクリプトを追加(記事中の
...
に元のスクリプトが入る)最終的にアップデート用のバッチファイルは
@rem update_dic.bat @rem [Google日本語入力のユーザー辞書を複数のPCで同期する方法](https://www.y-shinno.com/google-japanese-input-sync/) set filepathFrom="C:\Users\ユーザー名\GoogleDrive\Documents\Manage_user_dictionary\user_dictionary.db" set filepathTo="C:\Users\ユーザー名\AppData\LocalLow\Google\Google Japanese Input\user_dictionary.db" copy /Y %filepathFrom%,%filepathTo% "C:\Program Files (x86)\Google\Google Japanese Input\GoogleIMEJaTool.exe" --mode=dictionary_toolバックアップ用のバッチファイルは
@rem backup_dic.bat @rem [Google日本語入力のユーザー辞書を複数のPCで同期する方法](https://www.y-shinno.com/google-japanese-input-sync/) @rem [バッチ実行時にメッセージを出して処理の続行を確認する方法](https://www.projectgroup.info/tips/Windows/cmd_0028.html) set /P ANSWER="backup_dic.datを実行します。よろしいですか (Y/N)?" if /i {%ANSWER%}=={y} (goto :yes) if /i {%ANSWER%}=={yes} (goto :yes) exit :yes set filepathFrom="C:\Users\ユーザー名\AppData\LocalLow\Google\Google Japanese Input\user_dictionary.db" set filepathTo="C:\Users\ユーザー名\GoogleDrive\Documents\Manage_user_dictionary\user_dictionary.db" copy /Y %filepathFrom%,%filepathTo% shutdown.exe /s /t 0Macの場合
シンボリックリンクが容易に使える。クラウド上の辞書ファイル(
user_dictionary.db
)が存在するフォルダは、/Users/ユーザー名/Google\ ドライブ/Documents/Manage_user_dictionary
とする。
/Users/ユーザー名/Google\ ドライブ/Documents/Manage_user_dictionary
上に、/Users/ユーザー名/Library/Application\ Support/Google/JapaneseInput
内のファイルをuser_dictionary.db
以外コピーする(念の為.
から始まる隠しファイルもコピーする):以下コマンドで可能cp -rn /Users/ユーザー名/Library/Application\ Support/Google/JapaneseInput/. /Users/ユーザー名/Google\ ドライブ/Documents/Manage_user_dictionary/
/Users/ユーザー名/Library/Application\ Support/Google/JapaneseInput
フォルダを別名(JapaneseInput_original
とか)に変更フォルダのシンボリックリンクを作成
ln -s /Users/ユーザー名/Google\ ドライブ/Documents/Manage_user_dictionary /Users/ユーザー名/Library/Application\ Support/Google/JapaneseInput
/Users/ユーザー名/Library/Application\ Support/Google/JapaneseInput
というフォルダ(に見えるもの)が作成されて、かつGoogle日本語入力の辞書ツールを開いたときにクラウド上の辞書ファイル内に登録していた単語が確認できたら成功:辞書ツールは画像の場所で確認可能
まとめ
クラウド経由で、WindowsとMacの両方で辞書ファイルを管理する方法をまとめた。面倒でなければ、Windowsもシンボリックリンク(フォルダではなくファイルに直接作って自動で修復し続ける)が利用できるらしいので記事を参照。シンボリックリンクフォルダバージョンを理解するのにえらい時間かかった...
- 投稿日:2021-01-14T23:21:36+09:00
【Unity】Display Resolution Dialog廃止以降でも解像度指定したい
はじめに
ProjectSettingsのPlayerにあった
Display Resolution Dialog
がUnity 2019.3あたりからいなくなりました。
- 2018.4 Manual
https://docs.unity3d.com/ja/2018.4/Manual/class-PlayerSettingsStandalone.html- 2019.4 Manual
https://docs.unity3d.com/ja/2019.4/Manual/class-PlayerSettingsStandalone.htmlデバッグとかちょっと解像度変えたい時が個人的によくあるので、今後は各自で対応する必要がありそうです。
以下は思いあたる対応となります。環境
- Windows10
(macOSでも同様なことができると思います)- Unity 2019.4
方法①
UnityのScene内で解像度指定するUIと機能を実装する。
UnityEngine.Screen.SetResolution
を実行中に呼び出せば変更されます。
ただ実装が大変。https://docs.unity3d.com/ja/current/ScriptReference/Screen.SetResolution.html
方法②
Display Resolution Dialog(Launcher)を作る。
Unityで書き出したexeにコマンドライン引数を渡すようなGUIを用意すれば、今まで同様に指定解像度で起動してくれます。
アプリを起動する前に指定できるので画面切り替えがなくてスムーズです。
配布物とかだとユーザー側は扱いやすいと思います。このあたりを引数に渡せばよしなにしてくれそうです。
- -screen-fullscreen
- -screen-height
- -screen-width
- -screen-quality
~~.exe -screen-width 1280 -screen-height 720
ただ、GUI組むとなるとこれも少し大変。
https://docs.unity3d.com/ja/2019.4/Manual/CommandLineArguments.html
方法③
直接コマンドライン引数を渡す。
方法②はGUI実装が大変なので、Windowsのコマンドプロンプトやショートカットなどで引数を渡してさっくり起動しようという話です。
外見はいいのでとにかくすぐ設定を変えて見たい時はこれでいい気がします。ショートカットだと以下の感じ。
参考
https://forum.unity.com/threads/display-resolution-dialog-deprecation.793611/
- 投稿日:2021-01-14T16:54:33+09:00
[Mac]ssh接続時のREMOTE HOST IDENTIFICATION HAS CHANGED!のエラーを解決
前置き
Macでssh接続をする際に
REMOTE HOST IDENTIFICATION HAS CHANGED!
というエラーが出ることがある。
これは以前の認証キーが残っていることが原因であるようだ。■ssh接続試行時のエラー
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ (省略) ECDSA host key for x.x.x.x has changed and you have requested strict checking. Host key verification failed.■[注意!]良くない解決策
vim /Users/[ユーザー名]/.ssh/known_hosts
この中の接続しようとしているIPアドレスの部分を消去
(消去できればなんでも良いですが、ddを押して1行一気に削除が楽です)■良い解決策
該当のknown_hostsを削除するという方針自体は正しいようですが、直接消すのは(エラー自体は消えますが)良くないようです。
対処法としては、エラー時に警告が出るのと同時に上記のknown_hostsの情報を削除するためのコマンドも案内されるそうで、そちらのコマンドを使う方が良いようです。
(この具体的なコマンドは現在状況を再現できなく、再度出てきた時に更新できればと思います!)※新形式のknown_hostsだと探すのが少し面倒という理由もあるようです。
大変勉強になりました。この辺りは詳しくは@angel_p_57さんのSSHの公開鍵ってなに?をご参照いただくと大変勉強になりそうです。
皆で高め合っていきましょう!
- 投稿日:2021-01-14T11:26:12+09:00
Big Surで "macOS 11 or later required !" が出たり、pyarrow2.0.0 がinstallできなかったりしたときの対処メモ
はじめに
定期的にやってくる環境周りのトラブルですが、今回はMacのOSを Big Sur にUpgradeしたことに起因したものでした。
困ったことの要約
- Big Sur で pyenv で python を使っていたら
macOS 11 or later required !
という謎のエラーが出て pythonがcrashした- 上記はpython3.9.1 にすると解消するのだが、すると
pyarrow
が対応していなくて Installできない- grpcio が Installできない
- numpy 周りでエラーになる!
ということが発生したので、そのworkaroundを書いておきます。
いずれ不要になるとは思いますが、今現在で言えば結構厄介です。個々の対処法
macOS 11 or later required !
への対処再現方法
こんな感じです。
% python -c "import tkinter; r = tkinter.Tk()" macOS 11 or later required ! zsh: abort python -c "import tkinter; r = tkinter.Tk()"Tkなんて使わないよ! と思うでしょうが、 matplotlib か何かが使おうとしたりします。
※ んーそれを回避した方が良かったかもしれないな...対処法
(たぶん BigSurにしてから)pyenv経由でInstallしたようなPythonで発生していたようですが、 pythonを3.9.1にすることで解消されました。brew で pyenv を入れている場合は以下のような感じになります。
% brew install tcl-tk # これが必要なのか、は未確認ですがそう書いてあるところがあった % brew upgrade pyenv % pyenv install -l | grep 3.9 # 3.9系を探す 3.9.0 3.9-dev 3.9.1 miniconda-3.9.1 miniconda3-3.9.1 % pyenv install 3.9.1 # 3.9.1 が一番新しいのでそれにする治るか確認
% pyenv local 3.8.7 # エラーが出るVersion % python -c "import tkinter; r = tkinter.Tk()" macOS 11 or later required ! zsh: abort python -c "import tkinter; r = tkinter.Tk()" % pyenv local 3.9.1 % python -c "import tkinter; r = tkinter.Tk()" ### エラーが出ない! ###python3.9系になんてできないときは...?
とは言っても、気軽に3.9系にUpdateできるプロジェクトばかりではないでしょうし、その場合は正規のInstaller経由でInstallしたPythonなら大丈夫だとかなんだとか(未確認)。
pyarrow2.0.0 が python3.9 に対応していない!
pyarrow は どうも
pyathena
のpandas
拡張 のようなライブラリから必要とされているようで、それらを使っていると影響を受けます。普通に pip や poetry などではInstallできなかったので、3.8系のwheelを強引にInstallします(たぶんちゃんと動いている)。
cp38
な部分をcp39
にするとどうも良いらしい。酷い方法ですが、仕方ない...% curl -LO https://files.pythonhosted.org/packages/14/75/9f116c8d0774ed170c59c87649d3e74dbdaf3318d72a09171c6f4634c7a7/pyarrow-2.0.0-cp38-cp38-macosx_10_13_x86_64.whl % mv pyarrow-2.0.0-cp38-cp38-macosx_10_13_x86_64.whl pyarrow-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl % pip install pyarrow-2.0.0-cp39-cp39-macosx_10_13_x86_64.whlこれで、poetry や pipenv などで Installしようとしても既にInstall済みなので何もされずエラーにならなくなります。
grpcio が Installできない
BigSur周りのトラブルの初期に出くわしたので、どういう発生条件か忘れてしまいましたが、これも事前に以下のようにして入れておくと良かったです。
% pip install --upgrade pip setuptools wheel % pip install --no-cache-dir --force-reinstall -Iv grpcio==1.34.0numpy 周りでエラーになる!
どうも Accelerator がどうとか、そういう理由でエラーになるようでした。
Install時ではなく、実行時にエラーになるのでちょっと性質が悪いです。
こんな感じでInstallしておくことで、回避できました。% brew install openblas % OPENBLAS="$(brew --prefix openblas)" pip install numpyまとめると
最近は poetry で 管理していますが、結局こんな手順でInstallしておくとなんとか通りました。
% pyenv local 3.9.1 % poetry run pip install --upgrade pip setuptools wheel % poetry run pip install --no-cache-dir --force-reinstall -Iv grpcio==1.34.0 % curl -LO https://files.pythonhosted.org/packages/14/75/9f116c8d0774ed170c59c87649d3e74dbdaf3318d72a09171c6f4634c7a7/pyarrow-2.0.0-cp38-cp38-macosx_10_13_x86_64.whl % mv pyarrow-2.0.0-cp38-cp38-macosx_10_13_x86_64.whl pyarrow-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl % poetry run pip install pyarrow-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl % OPENBLAS="$(brew --prefix openblas)" poetry installさいごに
ビルドエラーとか人類の時間を奪う敵だと思います。
- 投稿日:2021-01-14T09:54:03+09:00
MacからWinへのリモートデスクトップ
RDPの設定
Win->Winへのリモートデスクトップはほとんど困ることがないけど、Mac->Winだと主にキーボード周りで変更しないとつらい。
- Karabiner-Elementsで「ろ」を「¥」に変えておく
Windows用のキーボードではこの位置に「¥」があるけど、MacのキーボードはShiftを押しても押さなくても「_」になるので変えておく
https://knowledge.sakura.ad.jp/23355/
を参考に、適当なルールをインポートしておいて、そのjsonファイルを変更して次の記述を追加しておく。
{ "description": "「ろ」を「¥」に置き換える", "manipulators": [ { "type": "basic", "from": { "key_code": "international1" }, "to": [ { "key_code": "international3" } ] } ] },2.RDP先のWinで「noyen.exe」を起動しておく
Macの「¥」とWinの「¥」はキーコードが違って、このままだとWinでバックスラッシュが入力できない。そこで、次のソフトを起動しておく。
https://github.com/stkchp/noyen
3.puttyなどのソフトは文字がぼやけて見えるので、その対策
Win側で設定を開いて、「ぼやけた表示のアプリを修正します」と検索して、下記のように「鮮明に表示」のオプションを「オフ」にする!
- 投稿日:2021-01-14T06:44:42+09:00
Prallels上のWindowsで日本語切り替えをかな・英数に割り振る(改訂)
久しぶりにParallelsでWindowsを利用したら、日本語切り替えのやり方が変わっていたのでメモ。
IMEの設定を開く
以前は「プロパティ」とかをいじったが項目自体がない。
キーとタッチのカスタマイズを選択
文字通り選択するだけ。
キーの割当を変更
やることは下記の2つ。
- 各キーに好みの機能を割り当てるを「オン」に
- 無変換キーで「IME オン/オフ」を選択
以上です。
以前はキーを細かく?いじっていましたが、GUIの操作だけでできるようになりました。
上記操作はたまたまいじってたらうまく動いただけなので、おかしかったらご指摘お願いします。とうか、Parallelsに吸収してほしいといつも思う。
- 投稿日:2021-01-14T02:06:25+09:00
【随時更新】Apple Silicon (M1)での開発環境
M1対応してるなら対応版を使いたいのでメモ
とりあえず Is Apple silicon ready? をチェック
前提
arch
コマンドが使えること
- Rosettaが入っていればいいらしいのでKarabiner-Elementsとか入れるタイミングで入るはず
- Homebrewで入るものはできるだけHomebrewで
- 好みで使わないものもあると思うけど
一覧
ソフトウェア名 配布チャネル URL メモ VSCode Insiders https://code.visualstudio.com/insiders/ 「ARM64」のアイコンからダウンロード Homebrew 公式インストーラ https://brew.sh/index_ja 公式サイトのワンライナーでのインストール git Homebrew brew install git
iTerm2 Homebrew brew install iterm2
設定はこちらを参考にpyenv Homebrew brew install pyenv
随時追記
CPU依存のないもの
シェルで構築されていたりとか
ソフトウェア名 配布チャネル URL メモ pyenv-virtualenv Homebrew brew install pyenv-virtualenv
nodenv Homebrew brew install nodenv