Windows10(上のUbuntu上のBash)でmikutter3.5.7を動かしてみた…
一体何番煎じなんですかね?
ノートPCとメインデスクトップ機で試してどっちも動いたのでこれで問題なかろうよ(慢心)
※2018/03/11 追記※
mikutter3.6.5をノートPCに突っ込んでみたので色々追記
※2018/08/04 追記※
mikutter3.7.4を突っ込んでみたので色々追記
というかWin上でRubyinstallerからやったらgtk2等が依存なんちゃらで起動しなかったのが悪いんだ。俺は悪くねぇ!俺は(ry
最初2.3.3x64でやろうとしたんだけどなんかVS関係のDLLが大量に足りなくて諦めた模様
じゃgem落としてきてコンパイルすりゃええやろ→パス関係修正しないと通らないので見なかった事に
あとcmdの文字コードSJISだとgettextコケるしUTF-8にしても7bitなんちゃら扱いだしで投げたとかなんとか
まあ文字コードに関してはmsys上で起動させればエラー出なかったらしいよ
<やった内容をサクッと>
Bash on Ubuntu on Windowsを有効にする
↓
rubyをインスコ(死語)
↓
mikutterとプラグインをダウソ(死語)
↓
bundle install(ryで必要なgemつっこむ
↓
mikutter/vendorにある*.soを全部つっこんだgemの奴で置き換える
↓
X11関係つっこむ
↓
Windows上にX11サーバを走らせる
↓
fonts-ipafontとかuim-anthyとかつっこんで走らせる
↓
It worked.
↓
日本語入力できなくてlxterminal上でruby mikutter.rb
↓
気付いたら朝の5時(普通に仕事)
↓
CK/CSをなんとかする
<なんでこんな事を?>
ITスキルの無さを察して
if-goto大好きおじさん
<以下自分用覚書>
・
Bash on Ubuntu on Windowsを有効にする
Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita
WindowsUpdateがエラー吐いて死んだノートPCをISOてきなものでアップデートしたのでやってみたのさ。
・
rubyをインスコ(死語)
(無言の
sudo apt-get install build-essential gtk2.0 libgtk2.0-dev autoconf )
Ubuntu 14.04 に apt-get で Ruby 2.1 をインストールする方法 - Rails 雑感 - Ruby on Rails with OIAX
を参考に
apt-get install ruby ruby-dev したら2.3.4が入った模様。
※追記ここから※
2018/03/11だと2.3.6だった模様
※追記ここまで※
・
mikutterとプラグインをダウソ(死語)
言葉は不要か…
※追記ここから※
別にWindows上で叩き落してきても問題はないのでC直下に突っ込むと楽だと思う(Windowsのう)
※追記ここまで※
・
bundle install(ryで必要なgemつっこむ
sudo bundle install --path vendor/bundle
gtk2入れる時にgdkkeysyms.hがねーよバーカ!と言ってきたので修正。
sudo ln -s /usr/include/gtk-2.0/gdk /usr/include/gdk
※追記ここから※
ノートPCに再インスコしようとしたらbundlerのパスが腐った('A`)面倒なので直叩き
sudo /usr/bin/bundle2.3 install --path vendor/bundle
→mikutter3.6でやったらidnでコケた。
sudo apt-get install libidn11-dev
→twitter-textに\config\v2.jsonがmikutterのフォルダ(C直下だと/mnt/c/mikutter/config)にねーよ(ry
探せばどっかにあるんだろうけどリンク張るのも面倒なので
GitHubから叩き落して configってフォルダ作って配置。
→mikutter/vendor/bundle/ruby/2.3.0/gems/twitter-text-2.1.0/configにあるのでln -sしてください(環境依存)
※追記ここまで※
・
mikutter/vendorにある*.soを全部つっこんだgemの奴で置き換える
mikutter関係の記事読む度になんでコレやらんで動くんだろうと疑問に思う(Rubyぜんぜんわからん)
※追記ここから※
3.7.4だとmikutter/vendorにある
idn.so と
unf_ext.so をmikutter/vendor/bundle/ruby\2.3.0/extensions/x86_64-linux\2.3.0にある奴で置き換える
※追記ここまで※
・
X11関係つっこむ
・
Windows上にX11サーバを走らせる
・
fonts-ipafontとかuim-anthyとかつっこんで走らせる
bash on Ubuntu on Windowsを試してみる - kashiの日記
.bashrcにこのページのまま書いたらLXTerminalがブラクラめいた事になったゾ()
※追記ここから※
.bashrcに↓を追加。謎のmikuに関しては気にしない方向で。
export DISPLAY=localhost:0.0
alias miku='/mnt/c/mikutter/miku'
※追記ここまで※
当然ながらfonts(ry入れないと盛大に文字化けした模様。
あと75dpiは文字が小さくてつらかったのでXmingは100dpiにしてます(老眼)
・
日本語入力できなくてLXTerminal上でruby mikutter.rb
ちなみに日本語入力もっとシンプルな方法があります。
moguno.hatenablog.jp
というか総てにおいてこっちの方法の方が良好だと思います(完全敗北)
一応日本語変換とLXTerminalとruby(ryをシェルスクリプトでまとめて1ポチで終わるようにはした。
※追記ここから※
上記mikuの中身↓本体がC:\mikutter\mikutter.rbな事前提。
UIM_CANDWIN_PROG=uim-candwin-gtk uim-xim &
XMODIFIERS="@im=uim" GTK_IM_MODULE=uim QT_IM_MODULE=uim lxterminal -e 'ruby /mnt/c/mikutter/mikutter.rb' &
※追記ここまで※
・
気付いたら朝の5時(普通に仕事)
\すまんで済むかよ社畜が!/ \報酬分位は働け!/
・
CK/CSをなんとかする
最近はそのままだとTwitterが使えないので馬鹿になりましょう。
mikutter.hatenablog.com
なお2018/08/04時点でCK/CSを入手しようとするとなんか面倒な模様。
なんか
300字以上の英文でどういうアプリか書け 言われたので
300文字のランダム文字列 貼っ付けたらダメでした(あたりまえ)
…という訳で
なんとかしました (察し)
<問題点>
・
起動すんの時間かかる
→3.6だと改善してたのでおっけまる。
・
リンク叩くとUbuntu側のブラウザが(ry
→
GitHub - moko256/mikutter_wsl_plugin: mikutterをWindows Subsystem for Linuxで使う時に便利にします
・
この方法だと窓が2枚も出て邪魔なんだけど
→そこはWindowsなんだしFindWindowEx()でHWND取得してShowWindow(hWnd,0);で消せばいい(浅はかな発想)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*
//////////////////////////////////////////////////////////////
Bash on Ubuntu on Windowsでておくれるmikutter
邪魔なBashとLXTerminalの窓を表示/非表示にするだけ mod.1
2018/03/11 柏木てるみ
//////////////////////////////////////////////////////////////
*/
#include <stdio.h>
#include <windows.h>
int main(int argc,const char *argv[])
{
HWND BTITL=NULL,LTITL=NULL;
int i=0,n=0;
BTITL=FindWindowEx(NULL,NULL,NULL,argv[1]);
LTITL=FindWindowEx(NULL,NULL,NULL,"LXTerminal");
if(BTITL!=NULL)
{
i=ShowWindow(BTITL,0);
if(i==0)
{
ShowWindow(BTITL,4);
}
}
if(LTITL!=NULL)
{
n=ShowWindow(LTITL,0);
if(n==0)
{
ShowWindow(LTITL,4);
}
}
return 0;
}
誰かもっとマシなの書いて(他力本願)
見ての通り環境毎に異なるBashの部分は引数で渡してます。自動で列挙する方法が判らなかっただけです('A`)
なおクソコード乙なのでバイナリはありません。