通过 scrcpy 实现 android 投屏

scrcpy 是开源的跨平台 android 投屏软件。以下是在 mint linux 上的安装和运行方法。

  1. Debian, Ubuntu or Linux Mint
sudo apt install adb ffmpeg libsdl2-2.0.0 make gcc pkg-config meson ninja-build libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev
  1. Download and install the scrcpy server jar

Download the latest scrcpy-server-v*.jar from the application releases page, and place it in your home folder.

sudo mkdir -p /usr/local/share/scrcpy
sudo mv scrcpy-server-v*.jar /usr/local/share/scrcpy/scrcpy-server.jar
  1. Download the latest scrcpy release source code and extract it in your home folder.
git clone --depth=1 https://github.com/Genymobile/scrcpy.git
cd scrcpy
meson build --buildtype release --strip -Db_lto=true -Dbuild_server=false -Doverride_server_path=/usr/local/share/scrcpy/scrcpy-server.jar
cd build
ninja
sudo ninja install
  1. To use scrcpy, connect your Android device to your computer via USB, then run scrcpy in a terminal
scrcpy

继续阅读

phpmyadmin.pma_table_uiprefs doesn’t exist

在使用 phpmyadmin 管理 mysql 时,出现 phpmyadmin.pma_table_uiprefs doesn't exist ,快速解决办法如下:

  1. On the shell: locate create_tables.sql.
  2. import /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz using phpMyAdmin.
  3. open /etc/phpmyadmin/config.inc.php and edit lines 81-92: change pma_bookmark to pma__bookmark and so on.

php 二进制安装 swoole

编辑环境

sudo apt install g++

安装swoole

sudo apt-get install php-dev
sudo pecl install swoole

php.ini配置

判断 php.ini 位置:

php -i | grep php.ini

mods-available 目录中添加新文件 swoole.ini

extension=swoole.so

判断是否启用

php -m | grep swoole

代码提示

默认 PhpStorm 不支持对于 swoole 的代码提示,需要下载对应的代码提示库

https://github.com/eaglewu/swoole-ide-helper

然后在 Preferences -> Languages & Frameworks -> PHPInclude Path 中引入代码提示库

现在就可以正常使用自动补全提示了

lumen 使用 redis

安装扩展

composer require predis/predis
composer require illuminate/redis

引入redis支持

$app->register(Illuminate\Redis\RedisServiceProvider::class);

启用redis辅助函数

$app->withFacades();
$app->withEloquent();

配置redis服务器参数

默认系统是调用的.env里的redis配置文件,但是一般安装后没有这些参数,可以查看文件路径vendor/laravel/lumen-framework/config/database.php中查看有哪些参数需要配置,例如,我的.env文件需要配置

REDIS_HOST=192.168.1.41
REDIS_PORT=7000
REDIS_PASSWORD=123456

rsync 使用方法

在不同主机之间复制文件常用 scp,但遇到同名文件,或想保持原属性,使用 rsync 更合适。

# 注意最目的路径会自动补上 folder 目录
rsync -rlptvz --delete --exclude "folder/or/file" -e 'ssh -p 22' user@host:/remote/path/to/folder ./local/path/to

使用 --exclude 排除不要同步的文件和目录,多个文件和目录使用多次,例如:rsync -avz --exclude file1.txt --exclude dir3/file4.txt source/ destination/

参考资料:

  1. http://man.linuxde.net/rsync
  2. https://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/