139 lines
5.0 KiB
Org Mode
139 lines
5.0 KiB
Org Mode
#+title: 各种开发工具配置
|
||
#+author: Zedhugh Chen
|
||
|
||
* Indium
|
||
|
||
=Indium= 是一个可以在 =Emacs= 里直接调试运行在 =Chrome= 中的 =JavaScript= 的软件。
|
||
|
||
感觉双屏用这个软件应该会很爽。安装使用步骤如下:
|
||
|
||
** 安装服务端
|
||
|
||
#+BEGIN_SRC shell
|
||
npm install -g indium
|
||
#+END_SRC
|
||
|
||
** 安装 =Emacs= 客服端
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
;; 直接从melpa源里安装
|
||
(require-package 'indium)
|
||
|
||
;; 配置
|
||
(require 'indium)
|
||
(add-hook 'js-mode-hook 'indium-interaction-mode)
|
||
#+END_SRC
|
||
|
||
** =indium= 配置文件: =.indium.json=
|
||
|
||
#+BEGIN_SRC json
|
||
{
|
||
"configurations": [
|
||
{
|
||
"name": "Indium Demo",
|
||
"type": "chrome",
|
||
"host": "0.0.0.0",
|
||
"post": 9222,
|
||
"url": "http://0.0.0.0:3000"
|
||
}
|
||
]
|
||
}
|
||
#+END_SRC
|
||
|
||
配置项说明:
|
||
|
||
=name=: 随便起一个就好
|
||
|
||
=type=: =Chrome= 调试直接写 =chrome= 就行了,其他参考[[https://indium.readthedocs.io/en/latest/setup.html][Indium Setup]]
|
||
|
||
=host=: 本地调试地址
|
||
|
||
=port=: =Chrome= 的调试协议端口号,和项目无关,和 =Chrome= 的启动参数有关
|
||
|
||
=url=: 项目的首页地址,按项目设置
|
||
|
||
** 启动 =Chrome=
|
||
|
||
在命令行里启动 =Chrome= 的时候带上参数
|
||
|
||
#+BEGIN_SRC shell
|
||
chrome --remote-debugging-port=9222
|
||
#+END_SRC
|
||
|
||
在 =Gentoo= 里面,自己编译的 =Chromium= 中,有个配置文件 =/etc/chromium/default= ,
|
||
|
||
其中有 =CHROMIUM_FLAGS= 配置项,将其设置为上面启动参数的内容即可。即:
|
||
|
||
#+BEGIN_SRC conf
|
||
CHROMIUM_FLAGS="--remote-debugging-port=9222"
|
||
#+END_SRC
|
||
|
||
** 开始调试
|
||
|
||
在要调试的 =JavaScript= 文件中执行 =Emacs= 命令 =indium-connect= 即可开始调试
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(indium-connect)
|
||
#+END_SRC
|
||
|
||
用快捷键或 =Indium= 插件提供的命令加入断点,即可开始愉快的调试了。
|
||
|
||
更多用法参考[[https://indium.readthedocs.io/en/latest/index.html][Indium手册]]。
|
||
|
||
* Input method
|
||
有时候输入法在 =firefox= 中不工作,这是因为设置不对造成的,通过查询资料,最终
|
||
在 [[https://wiki.archlinux.org/index.php/Smart_Common_Input_Method][archwiki]] 中找到方法,将 =.xprofile= 文件中的
|
||
#+BEGIN_SRC bash
|
||
export XMODIFIERS=@im=SCIM
|
||
export GTK_IM_MODULE="scim"
|
||
export QT_IM_MODULE="scim"
|
||
#+END_SRC
|
||
改成
|
||
#+BEGIN_SRC bash
|
||
export XMODIFIERS=@im=SCIM
|
||
export GTK_IM_MODULE="xim"
|
||
export QT_IM_MODULE="scim"
|
||
#+END_SRC
|
||
即可解决该问题。
|
||
|
||
** rime升级问题
|
||
=librime= 升级到 =1.5.3= 版本时, =fcitx-rime= 无法使用,同时在 =Emacs= 中通过
|
||
=pyim= 使用 =rime= 输入法也没法工作,通过安装 =ibus-rime= 测试,发现也不工作,
|
||
但将 =librime= 降回 =1.4.0= 版本时,汉字可正常输入,故判定该问题是新版本的
|
||
=librime= 引起到。
|
||
由此,将 =librime-1.5.3= 加入到 =package.mask= 中使其不升级,问题解决
|
||
|
||
[2019/8/24]今天发现上面的问题并不成立,这段时间在网上搜索,并没有发现相似的问题,
|
||
故怀疑是 =librime= 配置的问题,最终发现在 =installation.yaml= 中,
|
||
有 =rime-version: 1.4.0= 这样的配置,想到是否 =librime= 升级之后是否需要重新生成
|
||
用户词库相关的文件,将之前的词库删除后重启 =fcitx= 输入法发现, =librime-1.5.3=
|
||
能正常工作了。该问题解决。
|
||
|
||
*结论*: 升级 =librime= 后,需要删除相关词库数据,重新生成
|
||
|
||
* 双系统时间问题
|
||
=Linux= 和 =Windows= 双系统时区不统一的问题,该问题是因为兩个系统的时区标准
|
||
不同, =Windows= 系统显示的是 =BIOS= 时间, =Linux= 则是将 =BIOS= 时间作为
|
||
=UTC= 时间,具体显示的是各个地区的时间。
|
||
解决办法为,修改注册表,使 =Windows= 也采用与 =Linux= 相同的时间策略,修改
|
||
代码为
|
||
#+BEGIN_SRC bat
|
||
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v
|
||
RealTimeIsUniversal /t REG_DWORD /d 1
|
||
#+END_SRC
|
||
|
||
* Firefox播放网易云音乐问题
|
||
不知道从哪个版本开始,Firefox播放网易云音乐的声音很奇怪,通过网络查询,
|
||
是 =MSE= 的问题,在浏览器这中禁用 =MSE= 即可!禁用方法:
|
||
1. about:config -> media.mediasource.enable 改成 false 即可
|
||
2. 现该问题网易云音乐已修复该bug
|
||
|
||
* pcmanfm安装不上到问题
|
||
安装 =pcmanfm= 时发现, =libfm= 和 =menu-cache= 之间出现了循环依赖问题,
|
||
导致安装这两个 =package= 的时候会安装不上,并且依赖这两个 =package= 的软
|
||
件由于这两个 =package= 装不上,也会无法安装,经上网查询,早在 =2017= 年
|
||
=8= 月的时候就有人提出了相同到问题,当时的 =libfm= 版本是 =1.2.5= ,并且
|
||
=libfm= 官方已经修复了该问题,现在在 =libfm-1.3.1= 中再次出现该问题,解决
|
||
办法就是在要安装 =libfm= 时,先安装 =libfm-1.2.5= ,然后通过升级的方式将
|
||
=libfm= 升级到 =1.3.1= 版本即可。
|