ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在deepin20系统中使用PicGo+Gitee配置图床Typora的图床

2020-08-24 22:00:35  阅读:650  来源: 互联网

标签:npm deepin20 typora sudo 配置图 Typora apt gitee picgo


在deepin20系统中使用PicGo+Gitee配置图床Typora的图床

最近尝试了国产linux操作系统deepin20, 我之前一直用的Windows, 在使用deepin时几乎没有不习惯的感觉, 操作起来非常简单. 界面也确实非常漂亮, 有一种集MacOS和Windows于一身的感觉. 而且不管是内置的系统基础应用还是应用商店中的常用应用都做得很好, 基本可以满足日常办公需求. 各方面都让我有种眼前一亮的感觉. 希望deepin的生态发展能够越来越好.

前言

之前我在Windows上可以正常使用Typora+PicGo+Gitee, 安装配置方法比较简单, 没有在linux上麻烦, 可以自行百度或者参考: https://zhuanlan.zhihu.com/p/102594554 ,后来尝试过在Ubuntu20上安装这一套, 但是还是在Typora设置Picgo时出现了问题, 因为在linux上安装的PicGo是.appimage可执行文件, 所以Typora配置上传服务时不好选择Picgo的安装路径, 不像在Windows中可以直接选择picgo.exe. 后来发现了这篇博客: https://zhuanlan.zhihu.com/p/102594554 可以解决这个问题, 于是又想在deepin上尝试一下, 没想到安装成功了. 所以总结分享一下我的安装过程, 希望能给他人有所帮助.

这里使用了PicGo的GUI可视化图形软件PicGo-2.3.0-beta.3.AppImagepicgo-core(picgo的命令行工具)一起配合使用, 因为typora配置时选择不了GUI软件, 但是可以选择picgo-core命令行工具, 又因为picgo-core操作或者插件设置起来没有GUI图形界面方便, 所以可以先用GUI软件配置好插件, 然后将其默认生成的配置文件复制到picgo-core的配置文件中, 配置完后如果不想保留GUI软件可以删掉, 因为typora上传时实际上还是使用的picgo-core, GUI软件只是起到了一个自动生成配置文件的作用.

安装最新版本的Typora(0.9.93)

目前在deepin的应用商店中也能搜索到typora, 不过其版本是0.9.86, 我之前也是用的这个版本, 但是后面配置好Picgo之后, 发现一个问题: 只能在新建未保存的typora文件中粘贴图片才会自动上传到图床服务器上, 一旦保存了md文件或者打开已保存的md文件, 再粘贴图片就不会自动上传到图床了. 具体原因我也没有找到, 只能尝试安装官网最新版的typora试试看, 结果果然最新版本就没有这个问题了, 目前最新版本是0.9.93

image-20200824183925188

Typora官网给的linux安装方法是:

# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
# install typora
sudo apt-get install typora
  • 运行了wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -命令后

  • 再运行sudo add-apt-repository 'deb https://typora.io/linux ./'添加Typora源时报错说sudo: add-apt-repository:找不到命令

  • 于是百度到add-apt-repository的安装命令sudo apt-get install software-properties-common, 运行该安装命令

  • 再运行sudo add-apt-repository 'deb https://typora.io/linux ./'时又报错说Error: could not find a distribution template for Deepin/n/a, 后面查询到可以换一种方式添加源, echo -e "\ndeb https://typora.io/linux ./" | sudo tee -a /etc/apt/sources.list, 其实也就是手动给源文件/etc/apt/sources.list添加一句话:deb https://typora.io/linux ./

    image-20200824185835993

  • 然后运行sudo apt-get updatesudo apt-get install typora都成功运行了

总结来说我的安装方法是:

wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
echo -e "\ndeb https://typora.io/linux ./" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
# install typora
sudo apt-get install typora

安装PigGo

在官网下载地址: https://github.com/Molunerfinn/PicGo/releases ,下载PicGo-2.3.0-beta.3.AppImage文件, 双击打开系统会提示添加执行权限(或者手动执行命令添加chmod a+x PicGo-2.3.0-beta.3.AppImage), 遗憾的是点击确定后并没有什么反应, 于是命令行进入安装目录, 手动执行该文件./PicGo-2.3.0-beta.3.AppImage, 发现运行失败:

[8898:0420/011642.495795:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was 
found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You
 need to make sure that /tmp/.mount_PicGo-s7aX7M/chrome-sandbox is owned by root and has 
mode 4755.

经百度查询发现解决方法: https://github.com/Molunerfinn/PicGo/issues/467 , 这里选择了第四种解决方法, 如果没有userns.conf文件就自己创建一个

  1. 启用用户名称空间: sudo sysctl kernel.unprivileged_userns_clone=1,但每次开机都要运行该命令。
  2. 给报错信息给出的文件授权:sudo chown root <path_to_marktext_dir>/chrome-sandbox && sudo chmod 4755 <path_to_marktext_dir>/chrome-sandbox,但不适用于picgo,因为会自动删除。
  3. 运行的时候加上免沙箱命令:--no-sandbox
  4. 开机时自启动用户名称空间:echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/userns.conf

重启后即可以正常打开Picgo

配置gitee图床获取配置文件

安装gitee插件

这里还是选择了gitee图床, 因为免费并且很快, 当然也可以选择其他图床, 但是gitee图床不是官方提供的图床, 需要安装插件, 在GUI界面搜索gitee并安装gitee-uploader 1.1.2插件

image-20200824185441436

安装时会提示你需要安装nodejsnpm, 于是直接运行命令安装

sudo apt-get install nodejs
sudo apt-get install npm

我使用的源是deepin默认的源, 没有使用阿里云源(因为之前在deepin中使用阿里云源时, 安装mysql驱动pip install mysqlclient时需要安装libpython3-dev, 但是阿里云源里面找不到这个包), 默认源的nodejs版本为v10.19.0, npm的版本为5.8.0, 安装npm后会警告npm does not support Node.js v10.19.0, 这里我没有管, 还是继续用的这个nodejs版本, 后面也可以正常运行:

alex@alex:~$ npm
npm WARN npm npm does not support Node.js v10.19.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

nodejsnpm安装完成后, 再重启电脑, 继续打开picgo的图形化界面, 安装gitee-uploader 1.1.2插件就没有问题了

创建gitee仓库和token

gitee可以理解为国内的github, 可以免费托管代码或者文件, 上传下载速度比Github要快

  • 注册登录gitee, 新建一个仓库, 我定义的仓库名为Picture-bed, 设置为公开, 勾选使用readme初始化仓库, 选择只创建master分支

  • 获取token授权: 点击右上角头像下的设置, 选择私人令牌, 点击生成新令牌, 把projects这一项勾上,其他的不用勾,然后提交, 然后会显示一段token信息, 注意保存好这个信息, 它只会显示一次, 后面无法再读取了

配置图床信息

在Picgo的GUI界面找到gitee的图床设置, 填写相关信息, repo格式为gitee用户名/仓库名, 分支master, token为上面创建的token, path可以为空或者自定义, 这里是放在/img文件夹下, 该文件夹会自动在仓库创建

image-20200824192615634

点击确定设为默认图床即可. 在上传区上传一张图片测试配置是否成功

配置完成后点击PicGo设置再点击打开配置文件, 查看配置文件, 路径为: ~/.config/picgo/data.json, 我的配置为:

{
  "uploaded": [],
  "picBed": {
    "current": "gitee",
    "uploader": "gitee",
    "smms": {
      "token": ""
    },
    "gitee": {
      "branch": "master",
      "customPath": "",
      "customUrl": "",
      "path": "/img",
      "repo": "Alex-GCX/Picture-bed",
      "token": "***********************"
    },
    "list": [
      {
        "name": "SM.MS图床",
        "type": "smms",
        "visible": false
      },
     ........

安装配置picgo-core

前面配置好的GUI已经可以独立当做图床来使用了, 因为这里还需要连接Typora, 所以需要再安装配置picgo-core

安装cnpm

nodejs官网的包管理工具npm服务器在国外, cnpm是淘宝做的npm镜像, 国内使用cnpm更快更方便

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装pic-core

cnpm install picgo -g

安装gitee插件picgo-plugin-gitee-uploader

这一步相当于在GUI界面安装gitee插件

picgo install gitee-uploader

配置picgo-core

picgo-core的配置文件为: ~/.picgo/config.json, 将GUI的配置文件~/.config/picgo/data.json中的picBed配置项复制过来就好了, 最终配置如下

{
  "picBed": {
    "current": "gitee",
    "uploader": "gitee",
    "smms": {
      "token": ""
    },
    "gitee": {
      "branch": "master",
      "customPath": "",
      "customUrl": "",
      "path": "/img",
      "repo": "Alex-GCX/Picture-bed",
      "token": "******************"
    }
  },
  "picgoPlugins": {
    "picgo-plugin-gitee-uploader": true
  }
}

配置typora集成picgo-core

打开Typora, 文件-偏好设置-图像设置

  • 插入图片时: 上传图片
  • 上传服务设定: Custom Command
  • 自定义命令: node命令路径 picgo命令路径 upload, 如: /usr/bin/node /usr/local/bin/picgo upload, 可以通过which nodewhich picgo 获取路径

image-20200824214416849

配置完之后点击验证图片上传选项可以测试配置是否正确

image-20200824215156193

正常情况可以看到验证成功, 也可以去看看Gitee仓库下是否存在两张图片文件, 这里需要注意的是如果同一张图片连续上传的话, 会报错说图片已存在, 需要删除Gitee仓库中的图片, 删除方式为右键点击文件, 选择删除.

image-20200824215614718

标签:npm,deepin20,typora,sudo,配置图,Typora,apt,gitee,picgo
来源: https://www.cnblogs.com/gcxblogs/p/13556626.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有