[ChromeOS] Crostiniで日本語入力する
ここ何年もLinuxに触ってなかったので久しぶりに日本語入力系の話。昔は、Cannaとか使ってましたね。SKK/Anthyで院生のときは過ごしてたと思います。
Crostiniでも日本語入力を扱いたいのでGoogleの日本語入力のMozc(モズク)を初インストール。
$ sudo apt-get install fcitx-mozc
fcitxというのも初めて。apt-getでプロセスが上がってくる(確か)
$ ps -ef | grep fci shohei.+ 264 88 0 08:13 ? 00:00:03 fcitx shohei.+ 280 88 0 08:13 ? 00:00:01 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --config-file /usr/share/fcitx/dbus/daemon.conf shohei.+ 284 88 0 08:13 ? 00:00:00 /usr/bin/fcitx-dbus-watcher unix:abstract=/tmp/dbus-jYqdpnGPBg,guid=2870007bcc26b2aa1f1477c15ba186aa 280 shohei.+ 1562 621 4 08:32 pts/2 00:00:06 fcitx-config-gtk3 shohei.+ 1661 1593 0 08:34 pts/4 00:00:00 grep fci
XMODIFIERSを設定しろと言われたので下記のコマンドで環境変数を設定する。
$ export XMODIFIERS=@im=fcitx
fcitx-configtoolでGUIから設定できる。
$ fcitx-configtool
inputメソッドにmozcを追加。
英語キーボードなのでLayoutを指定。
firefoxか何かをあげてctrl+spaceで入力が表示される。
[ChromeOS] Crostini VMの再起動方法
crostiniのXがよく落ちるのでCrostini VMを再起動するケースがよくある。手順は簡単で、
- croshを起動
- vmc stop termina
- vms start termina
crosh> vmc list termina Total Size (bytes): 4176281600 crosh> vmc stop termina crosh> vmc start termina
AWS Ruby SDKでCost Exploreの情報を取得する方法
aws-sdk version3での話です。
1. aws-sdkのCost Exploreのモジュールを読み込む
gem 'aws-sdk-costexplorer'
2. IAMユーザに請求情報のアクセス権を与える
上部のナビバーのアカウントをクリックして、請求情報のアクセスのeditをクリックしてIAMアクセスのアクティブ化をチェックして保存。
3. IAMユーザに必要なロールを設定して追加する
下記のロールを作成し(今回はGEtCostAndUsageのみ)、該当ユーザでロールを追加する
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ce:GetCostAndUsage", "Resource": "*" } ] }
4. REPLでテスト
Rails cでコンソールを呼び出しテスト。各キーは設定済みとする。
初期化。us-east-1でのみ提供されている
c = Aws::CostExplorer::Client.new(region: "us-east-1")
BlendedCostとUnblendedCostの差がわかりづらい。Unblendedの方が割引などを除いた実際の数値に近いという理解で良いのか。
ドキュメントを読み試行錯誤の結果、タグに紐づいたコストを引くことができた。
c.get_cost_and_usage({time_period: {start: "2018-09-01", end: "2018-09-15"}, granularity: 'DAILY', metrics: ['UnblendedCost'], filter: {tags: {key: 'UserId', values: ["1"]}}, group_by: [{type: 'DIMENSION' ,key: 'SERVICE'}] }) ... #<struct Aws::CostExplorer::Types::ResultByTime time_period=#<struct Aws::CostExplorer::Types::DateInterval start="2018-09-10", end="2018-09-11">, total={}, groups= [#<struct Aws::CostExplorer::Types::Group keys=["EC2 - Other"], metrics={"UnblendedCost"=>#<struct Aws::CostExplorer::Types::MetricValue amount="0.1999999992", unit="USD">}>, #<struct Aws::CostExplorer::Types::Group keys=["Amazon Elastic Compute Cloud - Compute"], metrics={"UnblendedCost"=>#<struct Aws::CostExplorer::Types::MetricValue amount="0.0192", unit="USD">}>], estimated=true>, #<struct Aws::CostExplorer::Types::ResultByTime time_period=#<struct Aws::CostExplorer::Types::DateInterval start="2018-09-11", end="2018-09-12">, total={}, groups= [#<struct Aws::CostExplorer::Types::Group keys=["EC2 - Other"], metrics={"UnblendedCost"=>#<struct Aws::CostExplorer::Types::MetricValue amount="0.1999999992", unit="USD">}>, #<struct Aws::CostExplorer::Types::Group keys=["Amazon Elastic Compute Cloud - Compute"], metrics={"UnblendedCost"=>#<struct Aws::CostExplorer::Types::MetricValue amount="0.110821", unit="USD">}>], ...
注意
Cost ExploreのAPIリクエストにはお金がかかりそう。。
vim-session プラグインを使ってtabごとsessionを保存する方法
tmuxで指定したwindow/paneから始める方法 [再起動も安心]を説明したが、Vimのセッション情報もタブを含めてRestoreしたい。 最初は全て自動で保存しようとしたが、必要に応じて自分でセッションを保存した方が実用的。ブラウザのタブのように、使わないタブが残ってしまい必要のないタブが溜まっていってしまう。
vimはデフォルトでセッションの管理が可能だが、細かいところまで残すにはvim-sessionを使った方が良い。
.vimrc
" session call dein#add('xolox/vim-misc') call dein#add('xolox/vim-session') let g:session_autosave = 'no' let g:session_autoload = 'no' nnoremap <Leader>ss :SaveSession
SaveSessionとタイプするのが面倒なのでノーマルモードで\ss
でSaveSessionを呼び出す。
例えば、セッションをProject毎に保存する場合は、引数のセッション名にプロジェクト名を指定することでプロジェクトごとのセッションの作成が可能。
: SaveSession <session name>
で.vim/sessions/<session name>.vim
に保存されるのでこれをvimの引数として呼び出せばよい。
$ vim -S /home/shohey1226/.vim/sessions/gauss.vim
実際は、tmuxの起動スクリプトに書いておけば良い。
tmux send-keys -t $session:1 "cd ~/git/Gauss; vim -S $HOME/.vim/sessions/gauss.vim" C-m