LinuxにAndroid端末を接続してMTPでファイル転送

LinuxにAndroid端末をUSB接続してファイル転送(MTP)を使いたい場合「MTPfs」というツールが使えます。

インストール(Gentoo Linux)

# emerge --ask --verbose mtpfs

使い方

マウント

# mtpfs /mnt/mount_point

アンマウント

# fusermount -u /mnt/mount_point

FUSEなのでマウント後のファイルの読み書き等は普通にできます。

リンク

MTPfs – Dual Elephants – Chris Debenhams homepage
https://www.adebenham.com/mtpfs/

GitHub – cjd/mtpfs: Filesystem to mount MTP devices directly
https://github.com/cjd/mtpfs

Gitでディレクトリ全体をdiffしたい場合は–dir-diff

git difftoolコマンドを使うとMeldとかWinMergeなどの外部diffツールが使えます。

色付けできたりして分かりやすく差異を表示できますが、ファイル単位で1つずつdiffされるのが不便でした。何か良い方法はないか探してみたところ、--dir-diffというオプションを使うと一括してdiffできるみたいです。

設定

.git/configに以下の内容を追加します。(Meldを使う場合のサンプル)

[diff]  
        tool = Meld
[difftool "Meld"]
        cmd = \"C:/Program Files (x86)/Meld/Meld.exe\" \"$LOCAL\" \"$REMOTE\"
        trustExitCode = false

使い方

git difftool --dir-diff

こんな感じのコマンドで最新バージョンからの差分を一括してdiffできるようになります。

リンク

Git – git-difftool Documentation
https://git-scm.com/docs/git-difftool

Meld
https://meldmerge.org/

WinMerge – You will see the difference…
https://winmerge.org/

UnityのUIに自分で作ったメッシュを表示

UnityのUI上に自分で作ったメッシュを表示したい場合はOnPopulateMeshを使うとできるみたいです。

public class Example : Graphic
{
  protected override void OnPopulateMesh(VertexHelper vh)
  {
    vh.AddVert(new Vector3(0, 0), Color.white, new Vector2(0f, 0f));
    vh.AddVert(new Vector3(0, 100), Color.white, new Vector2(0f, 1f));
    vh.AddVert(new Vector3(100, 100), Color.white, new Vector2(1f, 1f));
    vh.AddVert(new Vector3(100, 0), Color.white, new Vector2(1f, 0f));
    vh.AddTriangle(0, 1, 2);
    vh.AddTriangle(2, 3, 0);
  }
}

UI上にライン(直線)を引こうと思ってお手軽な方法を探していたのですが、Line Rendererは少し使い勝手が良くなくて結局自分でメッシュを作るのが一番簡単かなという感じです。

リンク

Unity – Scripting API: UI.Graphic.OnPopulateMesh
https://docs.unity3d.com/ScriptReference/UI.Graphic.OnPopulateMesh.html

Unity – Scripting API: Graphic
https://docs.unity3d.com/ScriptReference/UI.Graphic.html

Unity – Scripting API: LineRenderer
https://docs.unity3d.com/ScriptReference/LineRenderer.html