上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

root対策されてやる気失せたFGOを久しぶりにやろうと思ったけどHTL22だとスペック的にきつかったので、USB端子のぶっ壊れたLGL22を発掘し、端子を交換した。
それも記事にしようかと思ったけど写真撮るの忘れたからやめた。部品はMOUMANTAIで売ってるやつで大丈夫だった。
分解方法はこの動画見れば分かると思う(Y字ドライバが必要)

タイトルに「いい感じに」と書いたけど、恒久rootが使えないからrootkitで出来るtemp rootで/system以下のファイルとかいじってシャッター音オフとか広告除去とかAGPSの変更とかをやる。
rootkitのバッチとかシェルスクリプト見ればだいたい出来ること分かるけど。

手順

1,rootが取れる中で一番新しいバージョン(20d)にアップデートする
 ここを読んで適当にやる。

2,isai_rootkit_kk_only.zipをダウンロードして端末にgetrootとbusybox_fileを転送する

unzip isai_rootkit_kk_only.zip
adb push isai_rootkit_kk_only/files/getroot /data/local/tmp/
adb push isai_rootkit_kk_only/files/busybox_file /data/local/tmp/
adb shell
cd /data/local/tmp/
chmod 755 getroot
chmod 755 busybox_file

3,getrootでtemp root取って色々いじる。
 getrootコマンドはsudoのように引数にコマンドを指定するとrootの状態で実行してくれる。
 しかし実行したあとは自動でrobootするので「getroot sh」とかやってroot shellにするといいと思う。
 (PCでシェルスクリプト作っておいてそれを直接gerootで叩いてもいいけど)
 あと/systemをrwでリマウントするにはtoolbox mountで「Operation not permitted」って言われてからbusybox mountで同じことをやらないと出来ないっぽい(謎)。

 シャッター音を消す
 build.propになんか追記するだけ
 参考 LGL22のシャッター音無効化 - misodengakuのブログ

toolbox mount -o remount,rw /system
/data/local/tmp/busybox_file mount -o rw,remount /system
echo persist.sys.cust.shuttersndoff=true >> /system/build.prop

 広告除去をする
 root済み端末からAdawayとかで生成したhostsファイルを持ってきて入れる
 SCL23だとhostsのパーミッションが644だけどLGL22だと600っぽい(644でも動いてるけど)
adb push hosts /data/local/tmp/
adb shell /data/local/tmp/getroot sh
toolbox mount -o remount,rw /system
/data/local/tmp/busybox_file mount -o rw,remount /system
cp /data/local/tmp/hosts /etc/hosts
chmod 600 /etc/hosts

 AGPSサーバーを変更する
 /etc/gps.confをいじってSUPL_HOSTをsupl.google.comにする
 参考 mineoを刺したLGL22のA-GPSサーバを変更してみる | matoken's meme

adb shell /data/local/tmp/getroot /data/local/tmp/busybox_file vi /etc/gps.conf

以上。あといじったあとはUSBデバッグをOFFにしておくことを忘れないように(じゃないとFGOが起動しない)

Android端末いじりたい欲が高まったのでやってみた




で、今ナウいのがResurrection RemixとかいうCyanogenModベースの多機能ROMというのがあって、しかもちょうどよいところに放置してたHTL22に@tako0910さんが移植してたので手を出してみたという次第。

どうやらGPSは使えない&NFCは送信のみ可能&トーチライトは一瞬つくけどすく消えちゃうようだ。

ROMはtako0910さんがAndroidFileHostにあげてるやつダウンロードするか、自分でビルドということで。

ビルド方法はほたさん(@lindwurm)の記事local_manifests見てもらえばわかるんちゃうん?
ArchLinuxでビルドする場合はArchWiki見てもらえばわかるかもしれんけど適当に書くと、

1,Multilibを有効にする

2,パッケージを入れる
 AOSPはmavenいらんっぽいけどRRは必要(CMは知らん)。JDKはLollipopからOpenJDK7になってごく最近からデフォルトでもOpenJDK8でOKになったらしい。ncurses5入れてんのはビルド済みのclangが古いかららしい(Archはもうncurses6)

# pacman -S git gnupg flex bison gperf sdl wxgtk squashfs-tools curl ncurses zlib schedtool perl-switch zip unzip libxslt python2-virtualenv bc gcc-multilib lib32-zlib lib32-ncurses lib32-readline maven rsync jdk7-openjdk repo
$ yaourt -S libtinfo ncurses5-compat-libs lib32-ncurses5-compat-libs


3,RRのソースツリーをダウンロードする

$ mkdir rr;cd rr
$ repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b marshmallow
$ repo sync -j8 --force-sync


4,m7wljのkernel, device(, vendor)をダウンロードする
 rr/.repo/local_manifests/に適当な名前でさっきのgistのやつをおいてrepo syncし直す。
 公式端末はbreakfast {デバイス名。kltekdiとか}でできるけど非公式端末だとそういうことはできないのでおとなしく手動で追加する。
 breakfastならcm.dependecesってファイルみて自動で依存解決するけど手動でやるときは依存解決も手動ですることになるはず?
 あと公式のリポジトリだと具合が悪くて自分でフォークしたやつ挿したいときはremove-projectした後追加するっぽい。
 kernelとdeviceのリポジトリは普通にrepo syncすればいいんだけど、vendorについてはお察しください。

5,virtualenvの設定をする
 Androidのビルドは未だにPython2らしいのでvirtualenvを設定する

(rrにいるという前提)
$ virtualenv2 venv

6,ビルド
 venvを起動してenvsetup.shを読み込んでbrunch {デバイス名。今回はm7wlj}する。
 毎回いくつかコマンド打つのは面倒なのでちょっとしたスクリプトを書いた。



 上記のことの他に開始/終了時間を最後に追記したビルドログのgzが吐かれるスクリプトとなっている。
$ cmbuild.sh m7wlj

みたいな感じで実行する。


翻訳について軽く触れておくと、もともとCMベースでCMの部分はほとんど翻訳終わってるし、RR固有の文の翻訳は上記のほたさんをはじめとした人々が目につくところはだいたい終わらせていて(と言っても29%ほどだけど)、初心者が手を出すには難しいなんかよくわからん機能の翻訳とかしか残ってない。

なので「ワイの使ってる機能翻訳されてないやんけ!!」という人以外はあまり翻訳を勧められない状況にある。(モチベーションがないし、使ってみないと文脈がわからんものばかりで危険)

そんでもやりたい人はCrowdinからどうぞという感じ。
AIRはxkanonでやってたんだけどpkgsrcじゃないと上手く動かないし、pkgsrcでゴリゴリビルドするのはつらいのでやはりWineでできないかと思っていた。

しかしAIRはCD-DA(先頭がデータトラックだからCD-EXTRA?)をドライブに入れてプレイ中それを再生するものなのだが、WineでどうやってCD食わせるのかよくわからなかったので放置していた。

最近になってTwitterで_inmm.dllというものがあると聞いたのでそれでやってみることとした

1,AIRをインストール
なんかいい感じにやる。いつもの如くWINEPREFIXは分離した。
あとWINEARCH=win32にしたのは気分

$ WINEPREFIX=~/.wine_air WINEARCH=win32 wine /run/media/$USER/AIR_BLUE/SetupCD.exe

んで、インストール中にOrange Discに交換しろって出るけどなんか上手く行かないので無視。

air_001.png


2,必要なパッケージを入れる
なんかmpg123が必要らしい。入れないとmp3が再生できない
「err:module:load_builtin_dll failed to load .so lib for builtin L"winemp3.acm": libmpg123.so.0: 間違った ELF クラスです: ELFCLASS64」
とか怒られた(コレはmp3再生しようとしてmpg123が入ってるのにlib32-mpg123がなかった時に出たやつ)
WINEARCH=win32なのでlib32-mpg32を入れる。

# pacman -S lib32-mpg123

3,_inmm.dllの設定をする
パッチを当ててwavかmp3用意して_inmm.iniを書く。
細かいことはマニュアル読めば分かると思う
_inmm.dllが実行時にレジストリがどうとか言うので_inmmcnf.exe起動するときはWINEPREFIXとかWINEARCH忘れずに
$ WINEPREFIX=~/.wine_air WINEARCH=win32 wine _inmmcnf.exe

wavでやる場合、quartzがなんとかとか言われるのでwinetricksでquartz.dllを入れておく

4,起動
AVG3217M.EXEを起動する時にGAME.INIと同じディレクトリから実行しないと見つからんとか言われるのでcdする
(.desktopとか書くときはいつもの如くシェルスクリプト書いてcdしよう)

air_002.png

$ cd ~/.wine_air/drive_c/AIR/
$WINEPREFIX=~/.wine_air WINEARCH=win32 wine AVG3217M.EXE


あとフォント設定が初期設定だといかれてるので適当にMSゴシックとか選ぶ

air_003.png

最近3DS力入れて触っててemuNANDとか色々整備した。

で、最近はmenuhaxで直接HomebrewLauncher起動するんじゃなくて、CtrBootManagerというのを挟んでHBLとrxTools選んで起動するみたいなのが流行ってるらしく導入した。

あとemuNANDからHBLに入るのがめんどくさいからemuNANDにHomebrew Launcher Loaderのcia(Wiiのwadみたいなやつ)をインストールしてそこから入れるようにしたが、これもCtrBootManagerを踏むのでなんか気持ち悪い。

というわけでhblauncher loaderから直接HBLを叩くようにした。

手順とも呼べない何か
HBLのboot.3dsxをcoot.3dsxという名前でSDカード直下にコピーして、
(拡張子含め9文字以下のファイル名なら何でもいいと思う)

hblauncherloader_otherapp_payload_なんたら.binをバイナリエディタで開いて、boot.3dsxとあるところをcoot.3dsxと書き換える。
(OLD3DSでFW11.0.0-33Jならhblauncherloader_otherapp_payload_OLD-11-0-0-33-JPN.bin)

怒りのまえがき      読み飛ばしてね

CDはクソである。なぜならタイトルやアーティスト等のタグ情報がないからだ。

近年音楽はDRMなしのデジタルデータ販売が主流になりつつある。これらは大抵タグ情報がついており、しかもアートワークまで付いているという至れり尽くせり状態だ。

しかしながら、未だにCDは大きなシェアを握っており、CDでしかリリースされない楽曲もあるためCDを買わざるをえない状況が発生する。
(まぁオールドタイプな人間なのでCDという物理媒体がほしいと思うことも多いのだが。)

CDにはタグがない。そこで人々はCDDBというものを開発した。問題は解決されたかに思われた。

しかしCDDBにて新たな問題が発生した。それは信頼の置けないユーザによる間違ったタグである。

もちろん人間が入力する以上ミスはあるものだが、しかしコンピレーションなのにアーティストをすべて「Nintendo」にするのはいかがなものか。
(スマブラのサントラのことであった)

また情報自体は間違っていなくても書式が気に入らなかったり、Disc1とDisc2で違う書式のものしかなかったりと暗澹たる結果に終わることも多い。
(こちらもスマブラのサントラのことである)

一番いいのはCDDBにパブリッシャ自らタグを登録することであるが、現状そういう風潮は高まっていない。

とにかく、一人ひとり何度も入力するのはアホらしいので、信頼の置ける友人などからタグをもらうということを考えた次第である。
(考えたってかもらった人から提案されたから俺なんも考えてないけど)


参考URL
Mp3tagでテキストファイルからタグをインポートする - ササビーのブログ

手順
1,Mp3tagをインストールする

2,Mp3tagでtxt_taglistをエクスポートする(送る側)
タグの付いた音楽ファイルがあるフォルダを開く。
Ctrl+Eでなんか出るのでtxt_taglistを選ぶっぽい。

mp3tag_export.png


txt_taglistだと出力してくれないデータもあるっぽいのでそういうのを出力したいときは、
C:\Program Files (x86)\Mp3tag\exportにあるtxt_taglist.mteをコピーして作ればいいと思う。

3,Mp3tagでtxt_taglistをインポートする(貰う側)
タグの付いてない音楽ファイルがあるフォルダを開く。
予めリッピングしておくわけだが、iTunesでリッピングするときはアルバム名だけは入力しておこう。
フォルダ名がアルバム名になるのでリネームする手間が省ける。

mp3tag_folder.png


Ctrl+Aで全選択してAlt+4でテキストファイル - タグを開く。
するとテキストファイルを選ぶ欄と書式の欄が出るので適当に設定する。
書式はエクスポートした時の書式にしないと行けないので送ってくれた人に聞こう。
デフォルトのままエクスポートしたら何もいじらなくても通るかも(未確認)

mp3tag_tag.png


ここで注意しなきゃいけないことがあって、Windows版ではSJISじゃないと文字化けで悲惨なことになるので、OSXから出力したもの(UTF8)はiconvとかで変換しておく

$ iconv -f utf8 -t sjis tag.txt > tag_sjis.txt

4,ファイル名も変更する
Alt+1でタグ同様ファイル名も変更する。
書式は
%discnumber%-$num(%track%,2) %title%
にしとくとiTunesと同じ書式になると思う(たぶんね)

mp3tag_filename.png


5,iTunesで読み込む
iTunesでリッピングした場合、ファイルパスとかファイル名変わるとiTunesから見えなくなるので一度消して「フォルダーをライブラリに追加」をしておく。
参考
GNOME 3.18 リリースノート
GNOME3 がGoogleドライブに対応 — kuchida1981

今更ながら、GNOMEがGoogle Driveに対応したらしいので試した。
GNOME的にはnautilusからアクセスするんだろうけどgvfsを使ってるのでnemoでもできた。

手順
1,いろいろ入れる

# pacman -S gnome-keyring gnome-control-center gvfs-google

普通にGNOMEインストールしたら入ってるけどCinnamonだと入ってないので

2,コントロールセンターで設定する
CinnamonのUIからだとgnome-control-centerって起動できないっぽい?のでターミナルから起動する

$ gnome-control-center

パーソナルのオンラインアカウントを選択して適当にGoogleアカウントを登録する
(キーリングがなんたらとか出るけど適当にやる)
用途はファイルがオンになっていればいいっぽい?
google-drive_001.png
教えてください

3,nemoで開く
サイドバーにメールアドレスが出てくるのでそれを開く
(ところで最近nemoの背景おかしい気がするんですけど誰か解決法教えてください)
google-drive_002.png

参考
日本からアメリカのGoogle (google.com) で英語で検索する方法 | 海外SEO情報ブログ

参考URLでは
https://www.google.com/webhp?gl=us&hl=en&gws_rd=cr&pws=0
をブックマークに入れて検索するときはブックマークから、というふうにしているがちょっとめんどくさい(ズボラ)

そこでChromeの検索エンジン追加機能を使うことにした

1,Chrome右上の三本線押して設定を開き、「検索」-「検索エンジンの管理…」をクリック

2,3つボックスがあるので適当に入力する
左の「検索を追加」には名前(適当で良い)、真ん中の「キーワード」には短めで被らないもの(今回はcomとした)、一番右の「URL (%s=検索語句)」にはURLを入れる。

URLは「https://www.google.com/search?q=%s&gl=us&hl=en&gws_rd=cr&pws=0」とする。
クエリの意味は参考URLを見ればわかるし、なんかもっと欲しかったら調べてお好みで追加しよう

omnibox_001.png


3,検索してみる
Omnibox(アドレスバーとか呼ばれるやつ)にカーソルを合わせて「com」と打つ。
するとなんか表示が変わるのでTabキーを押す(スペースでもいいけど)

omnibox_002.png

omnibox_003.png


なんかいい感じに表示が変わったら検索語句を入れてEnter。

omnibox_004.png
参考
Making Third-Party Gamepads Work With Steam Games – Boiling Steam
ゲームパッド - ArchWiki

はじめに結論
SDLに同梱されてるcontrollermap.cをコンパイルしてそれでキーコンフィグをし、それで出てきた文字列をSDL_GAMECONTROLLERCONFIGという環境変数に設定する

手順
1,controllermap.cをコンパイルする
参考URLみたいにSDL2落としてきて自分でコンパイルしてもいいけどAURにあります
あとPKGBUILD見ればわかるけど、SDL2が入ってる環境なら

$ gcc -lSDL2 -I/usr/include/SDL2 -o controllermap controllermap.c

でSDL2まるごとコンパイルしなくてもいいっぽい。

2,controllermapでキーコンフィグする
controllermapを実行して目当てのコントローラーの番号を見る。複数なければ0。
番号を引数にcontrollermapを実行

$ ./controllermap 番号

するとなんかウィンドウ出てくるのでそれ通りにキーを押していく
(BackSpaceで戻る、Spaceキーまたはクリックでスキップ)

controllermap_001.png


3,"INFO: Mapping:"以下の文字列をコピっておく
なんか二回出力されたりするけどよくわからん。

4,SDL_GAMECONTROLLERCONFIG環境変数に設定する
で、どこで環境変数を宣言すればいいのかわからなかったので適当にやる
LinuxのSteamでゲームをインストールすると$HOME/.local/applcations/にそのゲームのDesktop Entryが生成される。
これをちょいと書き換えることにする
と言ってもExecを"steam ほにゃらら"ではなく適当なスクリプトに飛ばしてそこでexportするだけだが。



controllermap_002.png

mozc-neologd-utとは

mozc-utを作ってるUTUMI Hirosi氏がmecab-ipadic-NEologdをmozc用辞書に変換したもの(らしい)
特徴はリンク先を見ていただきたい。

neologism [名]: 新語, 新表現, 新語義. by weblio


なぜお前がAURに登録したのか

ぶっちゃけmozc-utでいい(というかそっちのほうがいい点もある)のだが、
・単純に新しい物を試したかった
・AURのfcitx-mozc-utは高確率で腐ってる
後者については以前書いた。ただ古くなるならともかく一月程度でビルドできなくなるのはいかがなものか(ちなみに今もビルドが出来ずoodフラグが立っている)、と思っていたのでなんとかしたいなぁと思っていたところだった。

しかしメンテナーと交渉するのは面倒(パッケージを手放したり受け継いだり出来るっぽい)ので、この際新たにmozc-neologd-utに乗り換えて自分がメンテナーになろうと思ったわけだ。


変更点

実はmozc-neologd-utはAURに登録されてこそいないものの、tarballにはPKGBUILDが同梱されている。
ただこのPKGBUILDは作者さんが手元でArchにインストールする時用のものでそのままAURに登録するにはまずい点があったので少しいじった。
いじった点はdiffを見ていただければわかると思う。
まぁ更新で消えるtarballを勝手にosdnにあげてsha1sums追記しただけなんだけど。



その他

fcitx-mozc-utで割とつらい目にあったしメンテナーいつまでやる気が続くかわからないので
「こいつ偉そうに語ったくせにパッケージ腐ってんじゃねーか。俺が管理するわ!」
という人がいらっしゃった場合、AURやこの記事のコメント欄にメンテナー受け継ぐ旨を書いていただきたい。
気付き次第パッケージを手放したいと思う。(責任ある無責任)

あとmozc-utのほうがいい点があると言ったがそれはカタカナ語-英語変換が入っていることだ。
近いうちにmozc-neologd-utにそれを追加したバージョンを作ろうかなと思っている。
(公開するかは未定)


2016/10/22 追記
mozc-ut2がリリースされ、fcitx-mozc-ut2がAURになかったのでメンテナになった。
それに伴いmozc-ut2に乗り換えてためAURのmozc-neologd-utのパッケージの所有権を放棄した。

ブラウザでiTunes プレビューのページ見てると「iTunes で見る」ってリンクがあってWindowsなりOSXでそれクリックするとiTunesでそのページが開かれる機能がある。
それをLinuxでもやりたかった人のお話。(失敗)

リンククリックしたらiTunesが起動するところまではこぎつけたけど、

・普通にiTunes開いただけでそのページは開かれない
・Chromiumだとうまくいかない(Firefoxだと出来る)

という感じで微妙。(Chromiumはプロトコルの設定周りの問題だと思われる)

参考
freedesktop.org 規格のデスクトップファイルについてのメモ - Λlisue's blog
xdg-open - ArchWiki

手順
1,WineのiTunesを開くDesktop Entryを書く
 なんかDesktop EntryのExec項でスペースを含むファイルパスはうまく行かないっぽいので、
 シェルスクリプトをクッションとして挟む。
 シェルスクリプトはどこに置いてもいいです(~/.local/binというディレクトリ作った)
 Desktop Entryは~/.local/share/applications/に置く
 IconとかCategoriesはお好みで。
 aiconってツールでiTunes.exeからアイコン抜き出せて便利
 %uってやつはURLとか開くときに必要。
 あとはchmod +xで実行権限をつけるのを忘れずに(両方共だっけ)



2,xdg-mimeでitmssプロトコルを登録する
 リンクからiTunesが開くのはitmssとかいうプロトコルがiTunesに関連付けられてるかららしい。
 なのでさっき書いたDesktop Entryにxdg-mimeで関連付ける

$ xdg-mime default itunes.desktop x-scheme-handler/itmss

~/.local/share/applications/mimeapps.listとかいうファイルに
x-scheme-handler/itmss=itunes.desktop
という行が追加されたと思う。

3,リンクをクリックする
 これでFirefoxなら画像の感じになってOK押せばiTunesが起動するはず。

itunes_003.png

備考

結局どうやってiTunes.exeにURL渡すのかわからんかった。
単純に「wine iTunes.exe itmss://ほげほげ」ではダメだった。Windowsのプロトコルの関連付けの仕様がよくわからん。
chromiumのプロトコル設定もわからん。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。