博文

memo xwiki inial

To create a database, a user, and set a password in your MariaDB container for use with XWiki, you’ll need to access the MariaDB command line interface and run a few SQL commands. Here’s how you can do it step-by-step: ### Step 1: Access the MariaDB Container First, you need to access the shell of your MariaDB container. Assuming the name of your MariaDB container is `mariadb`, you can use the following Docker command: ```bash docker exec -it mariadb bash ``` ### Step 2: Log into MariaDB Once you are inside the container, log in to the MariaDB command line interface: ```bash mysql -u root -p ``` You will be prompted to enter the root password that you specified when setting up the MariaDB container. ### Step 3: Create the Database Run the following SQL command to create a new database for XWiki. Replace `xwikidb` with the name you want for your database: ```sql CREATE DATABASE xwikidb CHARACTER SET utf8 COLLATE utf8_bin; ``` ### Step 4: Create a User Now, create a user and grant

inux折腾笔记3:用另一把键盘做快捷键:python脚本

简述问题 拿第二个键盘当全部作快捷键,实现各种功能。 解决过程 无论是win还是linux,解读键盘的指令只会看scancode,就是键盘发送的键位的代码,这个代码显然是各个键盘共用的。现在的问题就是,怎么让系统区分两个键盘? 思路大概有一下集中: 组合按键,比如把不在键盘上的按键虚拟成一个trigger,任何在这个trigger被按下之后的按键都会被重新解读成一个新的组合键。然后再把这些新的组合键交给autoHotkey来实现各种功能。 交给专用的软件。 用脚本监听特定的设备,这里是键盘,然后用脚本来做。 1方案是一个 youtube小哥 用的,平台是win,结果bug满天飞(主要是用的程序限定了能接的键盘数量,不过现代的键盘一般都会在系统里虚拟出几个键盘来保证稳定。导致经常插usb的话会随机弹飞键盘,只能重启解决。) 2方案有一个 lua写的程序 ,也是面向win的。因为我不会lua所以没有尝试。 总之我在win上的尝试都失败了。然后在搜索的时候偶然看到 一篇博文 ,提到py有在linux下能单独监听一个键盘的库 evdev 。找来试试果然可以。不过这个库虽然可以模拟按键,用模拟按键的方式输出字符串也太麻烦了。于是搜了搜,有一个叫 keyboar d的库可以直接输出字符串,以及其他的一些功能(顺带一提这个库是有监听键盘的函数的,不过里面是空的还不能用,不知道这个库的作者还打算做么。) (再顺带一提这些库的文档真的是简洁,反正我是看不懂。) win上的话有 这篇文章 ,详述了怎么在win里面监听键盘的raw输入。不过我不会C++,所以折腾不来。 结果 总之上代码。 from evdev import InputDevice, categorize, ecodes,list_devices devices = [InputDevice(path) for path in list_devices()] for device in devices: if device.name=="你的设备的名字." and device.phys[-1] == "0": path = device.path dev = InputDevice(path) dev.

ubuntu折腾笔记2

发生了什么 执行诸如eclipse这样的东西的时候,一层一层打开目录很麻烦,遇到需要root执行的时候桌面快捷方式又不好用。 在root或者sudo打开atom之类文本编辑器的时候,fcitx失效。 快速解决 问题1 在用户目录里新建一个文件:~/.bash_aliases 打开这个文件并在里面添加如下的文字 alias eclipse="sudo sh -c 'nohup 你的eclipse的安装目录/eclipse > /dev/null 2>&1 &'" 然后在该用户的命令行里就能直接输入eclipse打开了。 问题2 还是上面那个文件,没有就建一个,注意这次是在root用户的home里。 添加 ef(){ export GTK_IM_MODULE=xim export QT_IM_MODULE=xim $1 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx } 在root用户下执行 ef 你的命令 新问题:ef不认用户自己写的alias 那就把方法里那几个export写在alias命令里边呗,用&&连接。如下 alias eclipse="export GTK_IM_MODULE=xim && export QT_IM_MODULE=xim && nohup 你的eclipse目录/eclipse > /dev/null 2>&1 && export GTK_IM_MODULE=fcitx && export QT_IM_MODULE=fcitx &" 注意把目录改了 给个解释? 问题1 写个alias ~/.bash_aliases alias命令本意是给你一个方面的方法重命名一个命令or一个带一堆参数的命令,来简化输入。你在命令行里也能用alias命令来定义重命名一段命令,不过这样的话就是仅仅限定在这个命令行里用了。 如此以来想要一直保持这个alias就得让这段命令在命令行打开的时候执行,好在linux自身提供了一个文件会在打开终端

Ubuntu修改键盘映射,18.04,gnome

前言:这是一篇早期的东西,写这个东西的时候我甚至不知道X是啥所以写的很莫名其妙 因为想为Emacs设置一下键位,所以查了一些资料,发现ubuntu下改键位还是挺困难的,下面把流程记下以为笔记。 首先,先确定你是要临时更换键位还是永久更换,如果要临时更换,则可以使用Xmodmap,好处是可以随身携带编辑好的文件,在哪里都可调用。如果要永久改变键位设置,则可编辑 /usr/share/X11/xkb/keycodes/evdev 来彻底改变键盘的定义行为,好处是比Xmodmap来的高效,不需要另外的读取时间。个人的做法是把<BKSP>改成66,把<CPAS>9改成,把<ESC>改成22。这样把大小写放到esc键上,把退格放到大小写上,把esc放到退格键上。(老实说并不是很推荐这个键位设定,因为小拇指经常会按错退格和tab,而且也很累。不过我ctrl都是用关节去压的所以还好罢了。) 首先简述键盘的读取原理。当你按下一个按钮,系统会首先读取这个按钮的keycode,比如大写锁的keycode是66。然后系统会去对照键盘的layout(布局,存储在/etc/default/keyboard里)去确定这个keycode对应是什么按键,比如66在配置文件里就是<CAPS>。确定你按的是什么按键之后,系统就会调用对应这个按键的函数(称之为keysym)来完成的功能了。 你可以用xev命令来查看按键的keycode和keysym。在弹出的小窗口里敲想看的按键就行了。 如果是永久交换,则在上文的evdev文件里修改按键的keycode和对应的键位关系即可。 如果是临时交换,则需要编辑一个Xmodmap文件,并在终端里执行 xmodmap xmodmap文件 来交换,不过这个交换只要重新登录就会被重置。 写法则详见man,这里简单说明。 首先用xev和xmodmap来确定你要改的按键和当前所有keycode对应的keysym。记下自己要改的按键当前的和修改后应该对应的keysym。 如果要编辑MODIFIER(shift,大写锁,crtl,super或者alt)的话,在命令行里直接敲xmodmap然后回车,会提示所有的modifier和其对应的keysym,先 remove MOD