SmartGit/HG 是一款开放源代码的、跨平台的、支持 Git 和 Mercurial 的 SVN 图形客户端,可运行在Windows、Linux 和 MAC OS X 系统上。

1.安装

Ubuntu及衍生系统用户安装,打开终端,使用以下命令:


sudo add-apt-repository ppa:eugenesan/ppa sudo apt-get update sudo apt-get install smartgithg

卸载命令:


sudo apt-get remove smartgithg
2.配置

readme-linux.txt中有段设置


SmartGit where it can find your Java Runtime Environment. Create the file ~/.smartgit/smartgit.vmoptions and add following line (change the path) jre=/path/to/your/jre If you have further questions regarding the SmartGit on Linux, please ask in our SmartGit mailing list:

java安装正常的


$ java -version openjdk version "9-internal" OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src) OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

定位java环境位置是在/usr/lib/jvm/java-9-openjdk-amd64

创建~/.smartgit/smartgit.vmoptions文件,内容:


jre=/usr/lib/jvm/java-9-openjdk-amd64
3.错误1

配置成后出现以下错误:


$ smartgit intx MaxJavaStackTraceDepth=-1 is outside the allowed range [ 0 ... 1073741823 ] Improperly specified VM option 'MaxJavaStackTraceDepth=-1' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

这是smartgit版本小bug引起的。

解决:修改文件/usr/share/smartgit/bin/smartgit.sh

_MISC_OPTS="-Xverify:none -XX:MaxJavaStackTraceDepth=-1 -Dsun.io.useCanonCaches=false"

替换为

_MISC_OPTS="-Xverify:none -XX:MaxJavaStackTraceDepth=1000000 -Dsun.io.useCanonCaches=false"

4.错误2

修改完后运行再次报错


$ smartgit Unsupported system classloader jdk.internal.loader.ClassLoaders$AppClassLoader@d7b1517

问题貌似是java9暂不支持smartgit,把java-9-openjdk-amd64卸载,重新装/java-8-openjdk-amd64。同时更新~/.smartgit/smartgit.vmoptions配置文件。

运行成功!

5.创建smartgit桌面启动

~/Desktop/创建文件smartgit.desktop,内容为:


[Desktop Entry] Name=SmartGit Comment=Git client Keywords=Git;Subversion; StartupNotify=true Terminal=false Type=Application Categories=Application; Icon=/usr/local/bin/smartgit/bin/smartgit-48.png Exec=/usr/local/bin/smartgit/bin/smartgit.sh %F

赋予smartgit.desktop可执行属性:

$ chmod a+x smartgit.desktop


REF:

1.Smartgit install error on Ubuntu [closed]

ubuntu 16.04安装smatrgitHG工具的更多相关文章

  1. Ubuntu 16.04安装UML工具StarUML 2

    StarUML 2是一个商业软件,但是没有时间限制,就像Sublime Text 3一样.而且具有跨平台,支持Mac.Windows. 这个软件曾经08年的时候在老D的博客上有推荐过,参考:http: ...

  2. Ubuntu 16.04安装SoapUI工具进行接口测试(Web Service/WSDL/RESTfull)

    SoapUI是一个跨平台接口测试工具,官方提供开源版本和商业版本.可以用来测试WSDL/RESTfull等接口. 替代的工具有JMeter. 一般用于WSDL的接口测试比较多,基于XML的形式,且这类 ...

  3. Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)

    Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...

  4. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

  5. Ubuntu 16.04安装sogou 拼音输入法

    一.更换为国内的软件源 安装搜狗输入法之前请先更换为国内的软件源,否则无法解决依赖问题.首先,用以下命令打开源列表: sudo gedit /etc/apt/sources.list #用文本编辑器打 ...

  6. Ubuntu 16.04安装cuda7.5 GCC

    http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...

  7. ubuntu 16.04 安装opencv 2.4.13

    ubuntu 16.04 安装opencv 2.4.13 https://blog.csdn.net/u011557212/article/details/54706966?utm_source=it ...

  8. Ubuntu 16.04 安装 RabbitMQ

    Ubuntu 16.04 安装 RabbitMQ(注意,服务器安全组需要添加15672 和5672端口) #1 更新 $ sudo apt-get update$ sudo apt-get upgra ...

  9. Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...

随机推荐

  1. 【翻译】针对多种设备定制Ext JS 5应用程序

    原文:Tailoring Your Ext JS 5 Application for a Multi-Device World 概述 鉴于当今设备和表单因素的扩散,要针对所有这些可能性来优化应用程序已 ...

  2. python的join(string)函数

    join是字符串操作函数,操作的也是字符串. key="\t".join(('a','b','c')) result= key.split("\t") prin ...

  3. volley请求原理

    Volley 实现原理解析 本文为 Android 开源项目实现原理解析 中 Volley 部分 项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo 分析者:g ...

  4. SVM实验

    说明: 1)α2=0表示第二个样例不在分类面上,在分类面上的点αi均不为零. 2)二次项矩阵,可以通过矩阵相乘相加方法得到,如上例 3)目标函数变为负值,是为了照顾matlab的标准型. 假定应用多项 ...

  5. Concurrent包常用方法简介

    1 Executor接口 留给开发者自己实现的接口,一般情况下不需要再去实现.它只有一个方法 void execute(Runnable command) 2 ExecutorService接口 它继 ...

  6. IOS 与ANDROID框架及应用开发模式对比一

    IOS 和ANDROID操作系统都是目前流行的移动操作系统,被移动终端和智能设备大量采用,两者都采用了先进的软件技术进行设计,为了方便应用开发两者都采用了先进的设计模式.两者在框架设计上都采用了什么技 ...

  7. canvas的常见用法

    Canvas canvas是一种抽象概念,是2D图形系统中的重要部分,canvas一系列函数最终都是android 2D图形库Skia的一些列封装,对应在SKCanvas.cpp.canvas在系统中 ...

  8. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...

  9. SharePoint 2007 单列表模糊查询SPD定制

    应用场景:项目中总会遇到一些列表,存着是用户.项目等数据,而我们需要查询有哪些项目,这时候,就需要用到模糊查询了,而这样的查询,基本不需要跨列表,所以,也没必要配置复杂的搜索,用Designer(简称 ...

  10. leetcode(58)-Range Sum Query - Immutable

    题目: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclu ...