有馬総一郎のブログ

(彼氏の事情)

2021年05月23日 18:37:06 JST - 1 minute read - Linux

Git Colaで外部ツールを起動してマージをしようとしたら`LaunchDifftool exception`というエラーになった

Gitのクライアントツール、それほど詳しい程ではないが、 SourcetreeはWindows、Mac版しかないので、Linuxでも使えるクライアントツールとして、まあデフォルトのGit GUIよりは使いやすそうな Git Colaを使っている。

もっと良いクライアントツールがあれば良いのだけど

  1. 自由ソフトウェア
  2. git stashが標準で使える
  3. 履歴や差分が見易い

ということで使っている。

で、Ubuntu、つまりGNOME Desktopのときは普通に差分を外部ツール、 Meldで起動できたのだけど、何故かLubuntuだと以下のようなエラーとなった。

Git Cola
LaunchDifftool exception:
FileNotFoundError(2, 'そのようなファイルやディレクトリはありません')
Traceback (most recent call last):
  File "/usr/share/git-cola/lib/cola/cmds.py", line 2615, in do
    return cmd.do()
  File "/usr/share/git-cola/lib/cola/cmds.py", line 1307, in do
    core.fork(argv)
  File "/usr/share/git-cola/lib/cola/decorators.py", line 24, in _caller
    return caller(f, *args, **opts)
  File "/usr/share/git-cola/lib/cola/decorators.py", line 80, in interruptable
    raise e
  File "/usr/share/git-cola/lib/cola/decorators.py", line 76, in interruptable
    result = func(*args, **opts)
  File "/usr/share/git-cola/lib/cola/core.py", line 263, in _fork_posix
    return subprocess.Popen(encoded_args, cwd=cwd, shell=shell).pid
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)

FileNotFoundError: [Errno 2] そのようなファイルやディレクトリはありません: b'xterm'

Launch Diff Tool does not work for resolving merge conflicts under Xfce · Issue #524 · git-cola/git-cola · GitHub

もっと良い解決方法があるだろうが、まんまxtermをインストールして対応した。sudo apt install xterm