DockerライクなUXでCloud Nativeな体験が出来るらしいRioを試してみる

qiita.com

遅れてしまいましたが、この記事は、 MicroAd Advent Calendar 2018 の16日目の記事です。

はじめに

本当は、 Rancher Labsの RKE を試す記事にしようかなぁと思っていたが、すでに他社の別の人 1 がやっているのを観測してしまったので、どうせなら、 同じく気になっていた Rio に変更しました。

とは言え、
febc-yamamoto.hatenablog.jp
上記の記事とも被りますが、そんな事を言いだしたら永久に何も出来ないので、まずは、 「個人的な興味として」 触りたい(大事)。

って事で続きます。

Rioって何?

rancher.com

Rancher Labsの新しい開発プロジェクトで、開発には、 Rancher LabsのChief Architect & Co-founderDarren Shepherd(@ibuildthecloud)さん が関わっています。

github.com

Rioのコンセプトは

  1. Simple, fun, end-to-end container experience
  2. Cloud Native Container Distribution

Rio is a user-oriented end-to-end container solution with a focus on keeping containers simple and combating the current trend of complexity. It's kept fun and simple though it's familiar and opinionated user experience. Additionally, Rio is a "Cloud Native Container Distribution" meaning it includes built-in Cloud Native technologies such as Kubernetes, Istio, Containerd, etc. so that the user need not be an expert in installing, using, and maintaining these systems.

www.youtube.com

という事で、利用者が使いやすく、シンプルで楽しいCloud Nativeなコンテナソリューションだそうで、
今後は、ストレージに Rancher Labsの Longhorn も予定しているとの事で気になります。 また、Rioのコマンドは、昔のdockerコマンドのようなもの2が多く見受けられ、取っつきやすい感じはあります。

ただ、まだ、 Early Preview なので、未実装なところも多く残っています。

コンセプト

Rioのコンセプトは Concepts にある通り、 ServiceStackProjectで構成されています。

まず、個々のコンテナを組み合わせて1つのServiceを構成し、
その複数をまとめたStackがあります。ServiceStackが異なれば名前が被ってもOK。
また、Stack単位にアクセス出来る・出来ないを制御するのがProject(最初はWorkspaceと呼んでいました)となります。

例えば、下図の様な使い方が考えられます。

f:id:yassan0627:20181217232440p:plain

ServiceStackなど端々に、Rancher v1系の面影を感じますね。

実際にお試ししてみる

インストールには、スタンドアローンk8s上で使う、2つモードがありますが、今回は、スタンドアローンを選択します。

実行環境は、GCPを利用し、以下の構成で行いました。

  • Ubuntu 18.04 LTS
  • GCE(vCPU x 4、メモリ 15 GB)
  • Rio v0.0.3

GCEでインスタンスの用意

GCE3インスタンスを「vCPU x 4、メモリ 15 GB」のスペックで用意。 OSは「Ubuntu 18.04 LTS」

※お試しなので、お安く上げるために、「可用性ポリシー」の項目を「プリエンプティブ ON」にします。
 これで、約$0.044/hour(us-east1)となります(お小遣い制の私にも優しい)。

Rioのインストール

Releases · rancher/rio より、実行ファイルをダウンロードして、展開し、PATHの通ったところに展開したものをコピー

# Rioをダウンロード
curl -L -o rio.tar.gz https://github.com/rancher/rio/releases/download/v0.0.3/rio-v0.0.3-linux-amd64.tar.gz

# 展開
tar xvf rio.tar.gz

# PATHの通った場所にコピー
sudo cp rio-v0.0.3-linux-amd64/rio /usr/local/bin/

Rio Serverの起動

yassan@rio01:~$ sudo rio server
INFO[0000] Starting Rio v0.0.3                          
INFO[0006] Creating CRD gateways.networking.istio.io    
INFO[0006] Creating CRD virtualservices.networking.istio.io 
INFO[0006] Waiting for CRD virtualservices.networking.istio.io to become available 
INFO[0007] Done waiting for CRD virtualservices.networking.istio.io to become available 
INFO[0007] Waiting for CRD gateways.networking.istio.io to become available 
INFO[0007] Done waiting for CRD gateways.networking.istio.io to become available 
INFO[0007] Creating CRD listenconfigs.space.cattle.io   
INFO[0007] Creating CRD services.rio.cattle.io          
INFO[0007] Creating CRD configs.rio.cattle.io           
INFO[0007] Waiting for CRD listenconfigs.space.cattle.io to become available 
INFO[0007] Creating CRD routesets.rio.cattle.io         
INFO[0007] Creating CRD volumes.rio.cattle.io           
INFO[0007] Creating CRD stacks.rio.cattle.io            
INFO[0008] Done waiting for CRD listenconfigs.space.cattle.io to become available 
INFO[0008] Listening on :7443                           
INFO[0008] Listening on :7080                           
INFO[0008] Client token is available at /var/lib/rancher/rio/server/client-token 
INFO[0008] Node token is available at /var/lib/rancher/rio/server/node-token 
INFO[0008] To use CLI: rio login -s https://XXXX:7443 -t XXXX::admin:XXXX 
INFO[0008] To join node to cluster: rio agent -s https://XXXX:7443 -t XXXX::node:XXXX 
INFO[0009] Agent starting, logging to /var/lib/rancher/rio/agent/agent.log 

これで起動。

起動ログに http: TLS handshake error from 127.0.0.1:44334: remote error: tls: bad certificate なんて出てますが、そっ閉じ。。。

Rio Serverに接続

今回は、スタンドアローンモードで実行するので、Agentのインストールはせずに、直接、起動中のServerへ接続します。 まずは、Serverへ接続しないと何もコマンドを受け付けません(rootでは別)。

接続の方法は、上記のRio Serverへアクセスした際に出ていたログ

 :
INFO[0008] Node token is available at /var/lib/rancher/rio/server/node-token 
INFO[0008] To use CLI: rio login -s https://XXXX:7443 -t XXXX::admin:XXXX     ←←←← ※コレ!
INFO[0008] To join node to cluster: rio agent -s https://XXXX:7443 -t XXXX::node:XXXX 
 :

rio login -s https://XXXX:7443 -t XXXX::admin:XXXX の部分を使います。 別のターミナルを開いて以下を実行。

$ rio login -s https://XXXX:7443 -t XXXX::admin:XXXX
INFO[0000] Log in successful
 :

カナリアリリースを試してみる

RioのREADMEにある Service Mesh をそのまま試してみます。 デプロイするアプリは、curlで叩くとHollo world返してくれる ibuildthecloud/demo を利用しています。

v1のdemoを3つのコンテナでScaleした状態にデプロイします。

yassan@rio01:~$ rio run -p 80/http --name test/svc --scale=3 ibuildthecloud/demo:v1
test-124a4837:svc

状態の確認

yassan@rio01:~$ rio ps
NAME       IMAGE                    CREATED         SCALE       STATE     ENDPOINT                                  DETAIL
test/svc   ibuildthecloud/demo:v1   8 seconds ago   (3/0/0)/3   pending   http://svc.test.g50yg5.lb.rancher.cloud   

と直後ではなっていますが、しばらくすると以下のようになります。

yassan@rio01:~$ rio ps
NAME       IMAGE                    CREATED              SCALE     STATE     ENDPOINT                                  DETAIL
test/svc   ibuildthecloud/demo:v1   About a minute ago   3         active    http://svc.test.g50yg5.lb.rancher.cloud   

ENDPOINTにcurlして状態を見てみます。

yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World

次にv3でデプロイしてみます。

yassan@rio01:~$ rio stage --image=ibuildthecloud/demo:v3 test/svc:v3
test-124a4837:svc

# Serviceの状態を確認(v1とv3の両方が存在しています)
yassan@rio01:~$ rio ps
NAME          IMAGE                    CREATED         SCALE     STATE     ENDPOINT                                     DETAIL
test/svc      ibuildthecloud/demo:v1   2 minutes ago   3         active    http://svc.test.g50yg5.lb.rancher.cloud      
test/svc:v3   ibuildthecloud/demo:v3   2 minutes ago   3         active    http://svc-v3.test.g50yg5.lb.rancher.cloud   
# Serviceの設定を確認
yassan@rio01:~$ rio export test
services:
  svc:
    image: ibuildthecloud/demo:v1
    ports:
    - 80/http
    revisions:
      v3:
        image: ibuildthecloud/demo:v3
        scale: 3
    scale: 3
# v3を確認
yassan@rio01:~$ curl http://svc-v3.test.g50yg5.lb.rancher.cloud
Hello World v3

では、準備が出来たところで、カナリア試します。 v1とv3を半々にしてみますます。

yassan@rio01:~$ rio weight test/svc:v3=50%
test-124a4837:svc

実際にcurlして確認してみます。

yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World v3
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World v3

まぁおおよそ、半々出てますね!

では、v3を完全に反映させます。

yassan@rio01:~$ rio promote test/svc:v3
test-124a4837:svc

# Serviceの状態の確認(v3のENDPOINTがv1のときのものに変わってますね)
yassan@rio01:~$ rio ps
NAME       IMAGE                    CREATED         SCALE     STATE     ENDPOINT                                  DETAIL
test/svc   ibuildthecloud/demo:v3   5 minutes ago   3         active    http://svc.test.g50yg5.lb.rancher.cloud   

では、curlでも確認してみます。

yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World v3
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World v3
yassan@rio01:~$ curl http://svc.test.g50yg5.lb.rancher.cloud
Hello World v3

ちゃんと反映出来ています。
如何でしたでしょうか。簡単なコマンドで実行が可能になっています。
本当なら、上図に描いたような構成を作ってみて、アクセス制御などもお試ししたいところですが、今回はここまで。

最後に

Rioは如何でしたでしょうか?

実は、Rio自体は内部にk8sを利用しています4
また、rio/vendor.confからも分かるように、k8s以外にも様々なものを内包しており、単体でここまで出来るのは面白い試みだと思います。

まだまだ、実装途中ではありますが、今後が楽しみです。

以上、16日目の記事でした。

CloudGarageを使ってお手軽にRedmineのModern UX化プロジェクト「Project Opal」を試してみる

f:id:yassan0627:20181209115833p:plain

adventar.org adventar.org

この記事は
 #CloudGarage Advent Calendar 2018 - Adventar の 9日目 及び
 Redmine Advent Calendar 2018 の 10日目
の記事です!

Redmine大阪 という、Redmine勉強会でコアスタッフをしている やっさん🍶(@yassan168) です。
また、NHNテコラス株式会社が提供する定額型パブリッククラウド CloudGarage で、 開発者支援プログラム(Dev Assist Program) を受けています。

DAPは、無償で、メモリ:1GB / CPU:1コア / SSD:50GBのインスタンスを3個利用出来るありがたい制度になっています。
一見、ちょっと足りないかなぁと思いますが、DiskがSSDでDiskアクセスも速く、ネットワークもとても速くパッケージのupdateもあっという間なので十分に使えます(とは言え、K8sなどは厳しいですが。。)
なので、簡単な検証や小規模なサイトならこれで十分まかなえるのでとてもありがたいです。

前置きはこの辺にして、CloudGarageを使って、RedmineのUXをModern化しようとするProjectである「Project Opal」をお試ししてみます。

github.com

実行環境

Opalのテーマの用意

現状、そのままでは利用できません。 テーマをcloneして、CSSを生成する必要があります。

色やフォントの設定元となる stylesheets/global/#config-map.sass を必要に応じて変更後、 stylesheets/application.sass からCSSを生成する必要があります。 SASS→CSSの生成は、 説明にあった通り、 Koala を使いました。

KoalaをDLってGUIを起動後、cloneしたproject-opalのディレクトリをKoalaへD&DすればOK。 その後、 stylesheets/application.sass を選択して、コンパイルすると、CSSが生成されます。

f:id:yassan0627:20181209181926g:plain

また、Koalaを利用するとディレクトリのトップに koala-config.json を生成するので、 下図のように、 dest にパスを指定するとそこに生成したCSSを生成します。

f:id:yassan0627:20181209181815p:plain

そこに、 faviconfontsimages をコピーし、そのフォルダごと、 Redmineのthemeディレクトリに配置すればOK。

Project Opal について

@m4xiJo さんが立ち上げ、有志で構成される Redmineの外観のモダン化を目的としたプロジェクトで、フロントエンドの機能を用いて拡張しやすく、FlatでCleanな外観にする事をゴールにしています。 主に、 Discordの Redmineサーバ で議論されています。
今回、このProjectに参加することになったので紹介します(とは言え、フロントエンドはからっきしなのですが)。

まだまだなところはありますが、これからどんどんブラッシュアップしていくと思います!
また、参加してくれる人を募集しているので、 Discordの Redmineサーバ までよろしくお願いします。

特徴

  1. トップバーの固定に変更
  2. ナビゲーションタブをSticky Navigationに変更 → How To Create a Sticky Navbar
  3. 検索バーをSticky Navbarの用に張り付きするよう変更
  4. SideBarをSticky Navbarの用に張り付きするよう変更
  5. Day mode と Night modeの切り替えボタンの導入
  6. 外部リンクの通知
  7. 外部リンクを開く場合に、警告のポップアップを出す
  8. 絵文字のサポートと(試験的に)クイックサーチを追加
  9. トップバーにクイック検索を配置

上記を踏まえて、詳細を以下に挙げていきます。

twitterなどにもありますが、見たほうが早いです。

Project Opalのテーマの場合、スクロールするとトップバーとナビゲーションタブ、サイドバーが消えずに残っている事が分かります。
これは、チケット一覧だけで無くすべてのUIで同様の動きします。

なので、チケットをスクロールさせた後に、簡単に機能の切り替えが可能なのでとても便利です。
また、トップバー下にあったクイックサーチがトップバーに移管しているので、どれだけチケットスクロールしてもすぐに検索が可能です。

現行のテーマ

f:id:yassan0627:20181209170250g:plain

Project Opal

f:id:yassan0627:20181209170138g:plain

外部リンクへの移動

下のスクリーンキャストから分かるように、外部リンクを踏むと警告のポップアップが出ます。 ただし、現状、jsに直書きになってるので、i18n対応が出来ていません。

f:id:yassan0627:20181209172612g:plain

サイドバーの表示切り替え

Hide Sidebar - Plugins - Redmine で実装しているこの機能が、テーマ側で実現しています。

f:id:yassan0627:20181209173828g:plain

絵文字の導入

こちらは、まだまだ、未完成な点が多いですが、チケットの作成などのタイミングで、Emojiに対応しようとしているようです。

f:id:yassan0627:20181209175950p:plain

最後に

まだまだ、荒削りですが機能としては、今まで欲しかったStickyなUIはとても便利に感じました。 これからが楽しみです。

また、今回試した環境は、 yassan/docker-project-opal に置いているので、実際に試したい方はどうぞ。

今年飲んで印象に残っている日本酒を挙げていく〜2018年編〜

f:id:yassan0627:20181201155643j:plain
2018年に飲んだ酒一覧

日本酒 Advent Calendar 2018 - Adventar の10本目(10日目)の記事です。

nowinowi822さん に続き、出来るなら酔わずに美味しい日本酒だけを無限に飲みたい id:yassan0627 でお送りします。

上の画像は、今年飲んだ日本酒の一部です。 今年もやっぱり振り返りたくなる。

今年の3月までは単身赴任中でお酒のシーズンになると「日本の美味しい井戸水を頂く会」を同僚数人でやっていたのは良い思い出。

去年は42種類でしたが、体重の増加が著しいので制限掛けた結果、30種類程まで減ってます。 とはいえ、撮っていない酒やリピートした酒は除外しているのでこれよりはもっとあるので酒量が減ってるかは謎。

それでは挙げていきます。

陸奥八仙 新春祝酒 純米吟醸@八戸酒造

f:id:yassan0627:20181201170309p:plain
陸奥八仙新春祝酒純米吟醸

まずは、 陸奥八仙 新春祝酒 純米吟醸 から。

今年、1番に飲んだお祝い用に買ったお酒。 陸奥八仙らしいお酒なんだけど、適度な甘さの中に良いキレがあってあっという間になくなった。とても美味しい。

不動 一度火入れ 無炭素濾過 雄町 純米吟醸@鍋店

f:id:yassan0627:20181201170608p:plain
不動 一度火入れ 無炭素濾過 雄町 純米吟醸

続いて 不動 一度火入れ 無炭素濾過 雄町 純米吟醸

備前雄町という有名な酒米で造ったお酒。 ちゃんとパンチもあるけど、香りもよく、とても美味しい。

道灌 吟吹雪 特別純米生原酒 無ろ過直汲み@太田酒造

f:id:yassan0627:20181201170810p:plain
道灌 吟吹雪 特別純米生原酒 無ろ過直汲み

次は 道灌 吟吹雪 特別純米生原酒 無ろ過直汲み

地元の酒米 吟吹雪 で造ったお酒。 吟醸香がとても良い。味もとてもよくお米の味もちゃんとあってとにかく美味い。

遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり@御祖酒造(みおや)

f:id:yassan0627:20181201170933p:plain
遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり

次は 遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり

春のお酒。うすにごり特有のシュワッと感がとても心地よいです。 甘すぎずフルーティーでとても美味しい。

純米にごり酒 さくらいろ@鮎正宗酒造

f:id:yassan0627:20181201171816p:plain
純米にごり酒 さくらいろ

最後は、ちょっと変わった 純米にごり酒 さくらいろ

桜色のにごり酒で張る限定の春のお酒。 赤色清酒酵母というピンク色の酵母で着色料を使ったわけではない。 甘口ではあるもののスッと消えるのでなかなか美味しい。辛口苦手な女性にはぴったりなお酒。

来年も美味しい酒を飲んで過ごしたいものです。 とは言え、まだだま、今年もいろいろ飲みますがw

以上、今年飲んで印象に残っている日本酒を挙げていく でした。

12本目は、 sapi_kawaharaさん です!

単身赴任が終了して京都に帰ることになりました

東京での単身赴任生活が3月終了し、4月から家族のいる京都にある事業部へ戻ることになりました。

ちょうど丸3年間でしたが、その間、自分だけの時間を沢山使えるチート状態で、その期間を自分の成長にひたすら注いで来ました。

右も左も分からない状態から、 吉祥寺.pm で外部の勉強会の楽しさを知って、色々、関連する勉強会やTech系カンファレンスに参加してきました。

やはり、東京は様々なTech系イベントがあり、キャッチアップしていくには非常に良い環境でした。

最初は、なんとかデータ基盤を立て直せないものかと情報収集の為に、データ分析についてなんにも知らない状態で dots. で行われた ビッグデータオールスターズ では、知らない単語だらけで単語だけメモってちょっとでも理解出来るよう必死に聴いていたのを思い出しました(-_-;)

大きなイベントでは、Developers SummitHadoop / Spark Conference Japan 2016PGConf.ASIA 2017 や は楽しかったし、デブサミで当たった de:code 2017とか、その他にも YAP(achimon)C::Asia Hachioji 2016mid など、どれもとても楽しかった。

勉強会は、データ分析やHadoopエコシステム関連だけでなく、PerlPython、Go、ScalaRDB、MongoDB、Docker、k8s、Rancher、Redmine、redash、Product Management(or Project Management)、Azure、GCP、など様々参加してきました。

色々なイベントで、様々な方と直接お話出来る機会もあり、そこから、新しいつながりが増えたりと本当に良い出会いに恵まれた3年間でした。
キャッチーな肩書な名刺も使えなくなるのでそこは勿体無いなぁと。あれは便利だった。

そのまま、東京に家族を呼んで住む事も考えましたが、家族としては妻の実家があり子ども達のサポートも可能だったり、生活のし易さから京都に戻る事を優先しました。

4月からは引き続き、データ分析に関わる仕事をやっていく事になります。

今後も、 Rancher JP では大阪を中心に活動して、ゆくゆくは京都でもやりたいなぁと考えていて、 Redmineは、 redmine.tokyo から、 Redmine大阪 の方でお手伝いして行こうかと考えています。

後、全然、動けていませんが、 吉祥寺.pm の様な雰囲気で、 kyoto.pmをやってみたいなぁと。
ただ、すでに、 kyotopm's blog / Kyoto Perl Mongers として存在していて、今は殆ど活動していないみたいですが、参加メンバの面々が豪華なので、どうにか再開出来ないかなぁと考えてますが、どうしたら良いものか🤔

今年は、4月から英会話始めてみたり、これまで以上に色々な事にチャレンジして行くので、引き続き、よろしくお願いします。

Kichijojipm-mini #012 でLTしてきました

kichijojipm.connpass.com

日が空いてしまいましたが、3/14 に Kichijojipm-mini #012 でLTしてきました。

吉祥寺.pm は、Perlのイベントではありますが、「吉祥寺.pm」は概念なので、割と何でもありのイベントです。 雰囲気が温かいので初心者でも快く受け入れてくれる懐の深い場所です。
つまり、*.pmとは、「PostgreSQLのP」でも良いし、「MetricsのM」でも、「ManagementのM」良いのです。 Perl以外にも、GoやScalaの話なんて事もあります。

なので、話のネタもバリエーションだけでなく、面白いものから興味深いものまで幅が広くとても楽しいイベントです。

kichijojipm.connpass.com ハッシュタグは、 #kichijojipm です。

「吉祥寺.pm」は、レギュラーイベントの「Kichijoji.pm #000」と今回参加した「Kichijojipm-mini #000」の2つあり、 miniの方はこじんまりと少数でワイワイやる感じです。

今回のテーマは「設計」で、私は、特殊なインフラ環境下での自分のETLやデータ分析で扱うスクリプトなどに関する設計に関する話をしました。

続きを読む

Redmineのシンタックスハイライトプラグインが出てた

f:id:yassan0627:20180206005940p:plain

Redmineのチケットやwikiで使えるシンタックスハイライトは、 CodeRay と言うライブラリを使用しているのだけど、対応フォーマットが少ない為、以下の通り、Rougeと言う別のライブラリへの移管を提案されていて、長いこと停滞状態にある。

www.redmine.org

そこで今年の1月に、プラグインでRougeの対応を行った人が現れたようです。

github.com

めちゃめちゃありがたいのだけど、コレって結局、公式の運営的にはどうなんだろうなぁと。 プラグインとしてではなく、公式に取り込まれてくれないかなぁと。

こういう要望の取り込みに対して、チケットや注記に「良いね」ボタン的なものがあると良いなぁと思う。 また、チケットでGitHubのPRみたいな流れとか作れると嬉しいのだけど、そうなっちゃうと「コレ、ナンテGitHub?」ってなっちゃうか。。。

だとしても、Redmineの開発にRedmineを使っている以上、Redmine使って開発が加速する仕組みは必要だと考えるけどどうなんだろうね。 そこで、その一環として、チケットを使った(使って無くてもいいけど)PRの様なマージの仕組みはアリなんじゃないかな。

Rougeの対応早く公式に入らないかなぁと思う今日此の頃。Perlbashが欲しいマンでした。

所でこの本、半額なってる。 買おうかな。

Redmine Plugin Extension and Development

Redmine Plugin Extension and Development

US配列キーボードとWindowsとUbuntuの共存。主に日本語入力。

f:id:yassan0627:20180203151325p:plain

Win+Spaceで日本語入力切り替えをWindowsUbuntuで統一する話。

動機

US配列キーボードが気に入って使っているのだけど、現状、WindowsUbuntuを行ったり来たりしてて一番困るのが日本語入力の切替え。

デフォルトだと、Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい。
Ctrl+Spaceで統一するのはよく見るのだけど、Ctrl+Spaceを切替えに使われてしまうと、vscodeなどの候補一覧出すのに支障が出てしまう。

からくり

入力ソースを2つ用意して、1つは日本語。もう一つは英語にして、切り替えているだけ。

pros & cons

pros

  • Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい問題の解決
  • Ctrl+Spaceで統一しないので、キーバインドがバッティングしてしまう vscodeなどのIntelliSenseを使う場合にも困らない

cons

  • Mozc(iBus)だと、OS起動時の1度だけ、日本語入力の際に、入力モードを「ひらがな」に設定しなければならない

環境

実施方法

Windows側の設定

コントロールパネルから「時計、言語、および地域」→「言語」を選択。
「言語の追加」を選び、「英語」→「英語(米国)」を選択して「追加」ボタン押下。

f:id:yassan0627:20180203152308p:plain

Ubuntu

「テキスト入力」の設定を開き、「入力ソースの選択」で「英語(US)」を選択

入力ソースの切替えの設定を「次のソースへ切替え」には「Win+Space」を入力して設定し、「前のソースへ切替え」には「Shift+Space」を入力して設定。

f:id:yassan0627:20180203154643p:plain

課題の解決

consで上げたとおり、起動後一回だけ、「ひらがな」に切り替えないといけないのだけど、この辺を参考にすると良いです。

sicklylife.hatenablog.com