蓝灯(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. LaTex Font Size 字体大小命令

    LaTex中字体大小有很多中等级,分别由下列命令控制: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE ...

  2. css3常用代码整理

    1.圆角 .rd10{-moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;-khtml-border-ra ...

  3. Uc爆破工具

    #coding:utf-8 import requests import sys from threading import Thread from Queue import Queue NUM=5 ...

  4. const 指针的三种使用方式

    ///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...

  5. html 抽奖代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. heroku空间部署步骤

    一,下载安装heroku toolbelt 二,在dos窗口运行 heroku login 进行身份验证 三,heroku create appName --buildpack heroku/php ...

  7. java数据结构

    1.计算机科技的两大支柱 1.数据结构 2.算法 程序=数据结构+算法 2.定义:是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科 3.数据(Data):是对信息 ...

  8. python - socket - server

    网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应 ...

  9. angular 路由去除#号

    1.  路由启动          $locationProvider.html5Mode(true);  通过pushstatex修改url app.js define([ 'angular', & ...

  10. 模块加载----Webpack

    一.配合gulp编译sass与压缩js 1.安装node.js 2.全局安装webpack 打开npm窗口执行 npm install webpack –g 3. 在项目中使用webpack 使用np ...