「インストール - 差分ツール」の版間の差分
提供: MochiuWiki : SUSE, EC, PCB
| 9行目: | 9行目: | ||
== Meld == | == Meld == | ||
[https://github.com/GNOME/meld/tags MeldのGithub]にアクセスして、Meldのソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | ダウンロードしたファイルを解凍する。<br> | ||
tar xf meld-<バージョン>.tar.gz | tar xf meld-<バージョン>.tar.gz | ||
2022年1月24日 (月) 05:47時点における版
概要
KDiff3
KDiff3をインストールする。
sudo zypper install kdiff
Meld
MeldのGithubにアクセスして、Meldのソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf meld-<バージョン>.tar.gz cd meld-<バージョン>
Meldをビルドおよびインストールする。
./setup.py build -b ./build -j $(nproc) ./setup.py install --prefix=<Meldのインストールディレクトリ>
Meldを任意のディレクトリ(ホームディレクトリ等)にインストールした場合は、Meldの実行ファイルをラッピングするためのシェルを作成する。
これは、Meldの実行に必要なPythonモジュールのパスを指定する必要があるためである。
vi /<Meldのインストールディレクトリ>/bin/meld.sh
# /<Meldのインストールディレクトリ>/bin/meld.shファイル
#!/usr/bin/env sh
appname="meld"
# use -f to make the readlink path absolute
dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
if [ "$dirname" = "." ]; then
dirname="$PWD/$dirname"
fi
# Initialize interpreter path
export PYTHONPATH="$dirname/../lib/python3.6/site-packages"
# Run Meld binary
"$dirname/$appname" "$@"
Meldを任意のディレクトリ(ホームディレクトリ等)にした場合は、~/.profileファイル等に環境変数PATHの設定を追記する。
vi ~/.profile
# ~/.profileファイル export PATH="/<Meldのインストールディレクトリ>/bin:$PATH"
デスクトップエントリファイルを作成する。
vi /home/suse/.local/share/applications/Meld.desktop
# ~/.local/share/applications/Meld.desktopファイル [Desktop Entry] Type=Application Name=Meld GenericName=Diff Viewer Comment=Compare and merge your files Exec=meld %F # /usr/binディレクトリや/usr/local/binディレクトリにインストールした場合 Exec=/<Meldのインストールディレクトリ>/bin/meld.sh %F # 任意のディレクトリ(ホームディレクトリ等)にインストールした場合 Icon=org.gnome.Meld Terminal=false MimeType=application/x-meld-comparison; Categories=GTK;Development; Keywords=diff;merge; StartupNotify=true
DolphinのコンテキストメニューにMeldを追加する。
vi ~/.local/share/kservices5/CompareMeld.desktop
# ~/.local/share/kservices5/CompareMeld.desktopファイル
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
Name=Compare using Meld
TryExec=meld
MimeType=inode/directory;application/octet-stream;
Icon=/<Meldのアイコンがあるディレクトリ>/meld
X-KDE-StartupNotify=false
X-KDE-Priority=TopLevel
X-KDE-Submenu=Compare using Meld
Actions=setArg1;diff;diffsudo;_SEPARATOR_;selected;selectedsudo;
[Desktop Action setArg1]
Icon=/<Meldのアイコンがあるディレクトリ>/document-compareleft
Exec=echo "%U" > /tmp/meld-menu-arg1
Name=Mark for use in left column
[Desktop Action diff]
Icon=/<Meldのアイコンがあるディレクトリ>/document-compareright
Exec=ARG1=$(cat /tmp/meld-menu-arg1);meld "$ARG1" %U; rm /tmp/meld-menu-arg1;
Name=Use in right column and compare
[Desktop Action diffsudo]
Icon=/<Meldのアイコンがあるディレクトリ>/document-compareright
Exec=ARG1=$(cat /tmp/meld-menu-arg1); rm /tmp/meld-menu-arg1; if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5
KDE_FULL_SESSION=true dbus-launch meld "$ARG1" %U && xhost -si:localuser:root; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true /<Meldのインストールディレクトリ>/meld "$ARG1" %U; fi;
Name=Use in right column and compare as root
[Desktop Action selected]
Icon=/<Meldのアイコンがあるディレクトリ>/kr_comparedirs
Exec=/<Meldのインストールディレクトリ>/meld %U; rm /tmp/meld-menu-arg1;
Name=Compare selected (highlighted) files/folders
[Desktop Action selectedsudo]
Icon=/<Meldのアイコンがあるディレクトリ>/kr_comparedirs
# Exec=sudo meld %U; rm /tmp/meld-menu-arg1;
Exec=if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch meld %U && \
xhost -si:localuser:root; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true /<Meldのインストールディレクトリ>/meld %U; fi;
Name=Compare selected (highlighted) files/folders as root