蓝灯(lantern)在无界面的linux下运行的时候,会遇到一个错误:

error while loading shared libraries: libappindicator3.so.1: cannot open shared object file: No such file or directory

错误原因是蓝灯运行需要加载一个系统托盘的类,这个类的作用就是出现一个最小化的图标,图标虽小,还是调用了ui的类库,因此,没有桌面是没办法运行蓝灯的。特别注意,诸如:

apt-get install libappindicator3-1

的解决办法对不想要桌面的用户是没有毛线用处的。因为你不得不为了这个类库,再安装一大堆桌面依赖类库,甚至不小心把桌面系统安上了。

说实话,这个类应当是可以选择加载的。比如:

lantern -headless

确实,这样运行蓝灯就不会加载那个托盘了。但坑爹的地方在于,从源码可以看出,蓝灯运行的时候只是根据headless决定是否显示界面,而非是否加载界面。真心想不明白,加载界面不显示,为什么蓝灯要捂着耳朵盗铃,闭上眼睛就说界面没有了。

因此,解决方案是,编译的时候就不要那个托盘小界面。这里:

HEADLESS=true make linux

这个编译可以说是漫长而且痛苦的,各种依赖类库安装一大堆,索性丢到docker里面去编译:

HEADLESS=true make docker-linux

为了支持docker,配置go。坑爹的是vps不支持。因为docker需要创建虚拟网卡。只能拉到本地编译。下面是我编译好的linux server版本:

lantern_linux_386_server
lantern_linux_amd64_server

校验码(sha512):

c86ef16d17aee3cf9aed6c175c597426991c6b3fec6bc4944bfc5dfe4ef115f2d21a3ee8dbee75be2a06d20e7e8411d1b5a081016d5c77330613642294305146  lantern_linux_386_server
491e6c28ff1a1de5baee7139ebdae5cfcb06327d4a586e9404632adcfdf83fd19e2a08177800482df6c618e745b7b811ad8fe92e256a50901c9702936c2b8dc3  lantern_linux_amd64_server

幸好生在个开源的世界,看看源码,或许能够彻底的解决问题 :)

本文首发:https://program-dog.blogspot.com/2016/06/LanternRunningOnServer.html



This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

蓝灯(lantern)在服务器(vps)上运行的更多相关文章

  1. 92.vue---新手从本地项目开发到服务器线上运行爬坑。

    因为我做的是后台,所以不用做SEO 参考 本项目的定位是后台集成方案,不太适合当基础模板来进行二次开发.因为本项目集成了很多你可能用不到的功能,会造成不少的代码冗余.如果你的项目不关注这方面的问题,也 ...

  2. 服务器(Linux)上运行python总结

    跑实验换了几次服务器了,每次遇到相似问题都要重新百度,而且每次百度搜索出的顺序都不一样,又得重新找半天,这次把遇到的问题都总结一下. 1.准备 PuTTY和FileZilla FileZilla使用F ...

  3. vps上运行serv-u的问题

    为了给产品环境建个测试站,今天特意申请一个vps来做开发用,但运行了Serv-U的ServUDaemon.exe后始终提示: 响应: 530 User czhan cannot log in. 很无语 ...

  4. 在Linode VPS上搭建离线下载神器Aria2+WEBUI管理及对国内云盘看法

    在Linode VPS上搭建离线下载神器Aria2+WEBUI管理及对国内云盘看法 2015-09-21 by Hansen 原文链接:http://www.hansendong.me/archive ...

  5. 【vps】如何在vps上安装mirai机器人?

    [vps]如何在vps上安装mirai机器人? 前言 由于某位师傅在群里设置了一个bot,吸引了我,所以我之前找他问了点bot的相关知识,这几天正好服务器搬迁,所以就在新服务器上再装一遍bot 1.安 ...

  6. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  7. Visual Studio写的项目在 IIS 服务器上运行的两种简单方法

    首先需要PC上开启了IIS服务,相关方法网上很多,也很简单 第一种:直接在项目中操作 1.创建一个项目,然后右击选中项目,右击,单击属性,打开项目属性标签页面 如图,选择Web标签,在服务器栏目中选中 ...

  8. Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序

    我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...

  9. 如何使用Cygwin在Windows上运行OpenSSH SSHD服务器

    记录几款非常有趣, 但不怎么耳熟的软件: Cygwin 是可以安装 OpenSSH server 和 client 的, Mosh 也可以, 这对于 Linux 用户而言就非常方便了. 如何使用Cyg ...

随机推荐

  1. [LintCode] Scramble String 爬行字符串

    Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...

  2. ubuntn 安装 MySQL

    1. sudo apt-get install mysql-server   2. apt-get isntall mysql-client   3.  sudo apt-get install li ...

  3. Xss里img标签的一些利用

    <img src=x onerror=with(document)body.appendChild(document.createElement('script')).src="//x ...

  4. Python一行代码

    1:Python一行代码画出爱心 print]+(y*-)**-(x**(y*<= ,)]),-,-)]) 2:终端路径切换到某文件夹下,键入: python -m SimpleHTTPServ ...

  5. Vim 常见操作

    1.复制所有内容 按照此顺序敲即可:gg(光标定位到文件头)  V(选中该行) G(选中该行开始到最后一行结尾) y(复制选中内容) 2.粘贴所有内容 正常模式下,敲p即可,如果遇到粘贴内容不全,需要 ...

  6. oracle函数,查询,事务

    函数包括:单行函数,多行函数(分组函数) 数值函数: --绝对值 select abs(-12.3) from dual; --向上取值 select ceil(5.3) from dual; --向 ...

  7. Python3.5连接Mysql

    由于mysqldb目前仅支持到python3.4,所以这里选择pymysql. pymysql下载地址: https://pypi.python.org/packages/source/P/PyMyS ...

  8. Javascript中的new

    直接上代码 function test () { } document.write(typeof test() + "<br />") document.write(t ...

  9. GFS文件系统和在RedHat Linux下的配置

    GFS的全称是Google file System,为了满足Google迅速增长的数据处理要求,Google设计并实现的Google文件系统(GFS).Google文件系统是一个可扩展的分布式文件系统 ...

  10. python中raw_input输入数字问题

    如果按照下面方式,则无论你输入什么,都会打印12,因为raw_input接受的输入是按照字符串处理的 num = raw_input('please enter a num:') if num > ...