首页
工具
友链
推荐
下载站
网盘
物理专用站
Search
1
群晖 docker安装qbittorrent 解决下载时错误
6,028 阅读
2
详细的全自动追番教程:Sonarr+Jackett+qBittorrent+Jellyfin+Jellyseerr
6,016 阅读
3
OpenWrt (R2S) ipv6配置
2,271 阅读
4
proxmox ve 启动arm虚拟机 (ubuntu arm)
1,976 阅读
5
关于jijidown无法下载番剧的解决办法
1,240 阅读
默认分类
管理
记录
计算机
ACGN
游戏
讯息
数理
登录
Search
标签搜索
docker
刷机
ipv6
wsl
pve
番剧
openwrt
配置
gitlab
汉化
jupyterhub
pixel slate
chromeos
小爱同学
自定义音色
dns
oracle
甲骨文
原神
云原神
Canoziia
累计撰写
58
篇文章
累计收到
23
条评论
首页
栏目
默认分类
管理
记录
计算机
ACGN
游戏
讯息
数理
页面
工具
友链
推荐
下载站
网盘
物理专用站
搜索到
13
篇与
的结果
2023-09-13
解决linux明明有ipv6地址但是ping -6显示Name or service not known,且用ipv4 dns解析不出ipv6地址的问题
好像不太对sudo ip -6 neigh flush allnslookup可以发现,dns时而返回ipv6地址时而不返回,什么鬼root@VM-24-4-ubuntu:/home/ubuntu# nslookup google.com Server: 1.1.1.1 Address: 1.1.1.1#53 Non-authoritative answer: Name: google.com Address: 142.251.46.206 Name: google.com Address: 8.7.198.46 root@VM-24-4-ubuntu:/home/ubuntu# nslookup google.com Server: 1.1.1.1 Address: 1.1.1.1#53 Non-authoritative answer: Name: google.com Address: 172.217.12.110 Name: google.com Address: 8.7.198.46 root@VM-24-4-ubuntu:/home/ubuntu# nslookup google.com Server: 1.1.1.1 Address: 1.1.1.1#53 Non-authoritative answer: Name: google.com Address: 172.217.12.110 Name: google.com Address: 2607:f8b0:4005:80f::200e root@VM-24-4-ubuntu:/home/ubuntu# nslookup google.com Server: 1.1.1.1 Address: 1.1.1.1#53 Non-authoritative answer: Name: google.com Address: 142.251.32.46 Name: google.com Address: 2607:f8b0:400a:80b::200e
2023年09月13日
21 阅读
0 评论
0 点赞
2023-07-15
在RK3588开发板上使用AIC(Android IN Container)!
系统: https://github.com/Joshua-Riek/ubuntu-rockchip镜像1: shangzebei/rk3588感谢shangzebei ( https://github.com/rk-docker/rk-gpu )issue https://github.com/remote-android/redroid-doc/issues/362镜像2: chisbread/rk3588-gaming:redroid-firefly感谢malior团队 https://github.com/ChisBread/malior#malior-redroid以及zhz https://zhz.moe/57/docker-compose.ymlversion: "3" services: android: image: shangzebei/rk3588 container_name: android network_mode: bridge privileged: true restart: always stdin_open: true tty: true volumes: - /root/app/android/data:/data - /dev/mali0:/dev/mali0 ports: - 5555:5555 # devices: # 不要用device传递/dev/mali0! command: - androidboot.redroid_width=2560 - androidboot.redroid_height=1440 - androidboot.redroid_dpi=480 # - androidboot.redroid_gpu_mode=auto - androidboot.redroid_gpu_mode=host # 用shangzebei/rk3588的话选mali # - androidboot.redroid_net_proxy_type=static # - androidboot.redroid_net_proxy_host=x.x.x.x # - androidboot.redroid_net_proxy_port=7890 # - androidboot.redroid_net_proxy_exclude_list=localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*# 有这两个能运行安卓容器 grep binder /proc/filesystems grep ashmem /proc/misc # 安装v4l2loopback, 创建/dev/video1 sudo apt install v4l2loopback-dkms sudo modprobe v4l2loopback video_nr=1 # 安装scrcpy最新版 # for Debian/Ubuntu sudo apt install ffmpeg libsdl2-2.0-0 adb wget \ gcc git pkg-config meson ninja-build libsdl2-dev \ libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \ libswresample-dev libusb-1.0-0 libusb-1.0-0-dev git clone https://github.com/Genymobile/scrcpy cd scrcpy ./install_release.sh scrcpy --tcpip=127.0.0.1 --v4l2-sink=/dev/video1 --video-codec=h265 --video-encoder='c2.rk.hevc.encoder' # --no-video-playback --window-borderlessroot@nanopc-t6:/# cat /etc/systemd/system/bilibili.service [Unit] Description=BilibiliLiver After=android-display.service Requires=android-display.service [Service] WorkingDirectory=/home/canoziia/app/bilibili ExecStart=/home/canoziia/app/bilibili/BilibiliLiver Restart=always # SyslogIdentifier=BilibiliLiver Tool Type=simple [Install] WantedBy=default.targetroot@nanopc-t6:/# cat /etc/systemd/system/android-display.service [Unit] Description=Android Display After=docker.services Requires=docker.services [Service] ExecStart=scrcpy --tcpip=127.0.0.1 --v4l2-sink=/dev/video4 --video-codec=h265 --video-encoder='c2.rk.hevc.encoder' --no-video-playback --require-audio # --v4l2-buffer=300 Restart=always Type=simple [Install] WantedBy=default.targetversion: "3" services: android: image: shangzebei/rk3588 container_name: android network_mode: bridge privileged: true restart: always volumes: - /Data/android/data:/data - /dev/mali0:/dev/mali0 ports: - 5555:5555 # devices: # 不要用device传递/dev/mali0! command: - androidboot.redroid_width=1440 - androidboot.redroid_height=2560 - androidboot.redroid_dpi=480 # - androidboot.redroid_gpu_mode=auto - androidboot.redroid_gpu_mode=mali - androidboot.redroid_net_proxy_type=static - androidboot.redroid_net_proxy_host=192.168.31.2 - androidboot.redroid_net_proxy_port=7890 - androidboot.redroid_net_proxy_exclude_list=localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.* # grep binder /proc/filesystems # grep ashmem /proc/misc # # for Debian/Ubuntu # sudo apt install ffmpeg libsdl2-2.0-0 adb wget \ # gcc git pkg-config meson ninja-build libsdl2-dev \ # libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \ # libswresample-dev libusb-1.0-0 libusb-1.0-0-dev # git clone https://github.com/Genymobile/scrcpy # cd scrcpy # ./install_release.sh # scrcpy --tcpip=127.0.0.1 --v4l2-sink=/dev/video1 --video-codec=h265 --video-encoder='c2.rk.hevc.encoder'
2023年07月15日
337 阅读
0 评论
1 点赞
2023-06-25
玩转Lenovo 10e Chromebook Tablet:安装ubuntu arm
玩转 Lenovo 10e Chromebook Tablet:安装 ubuntu arm准备材料蓝牙鼠标8G 及以上 U 盘,可以接到 type c 口(有拓展坞也行,就没必要蓝牙鼠标)一台其他电脑,用于刻录和查资料解锁平板拿到机器的时候自带的是 ChromeOS 系统,并且只能从 ChromeOS 启动。为了刷入系统,需要开启开发者模式并打开 USB 启动。进入开发者模式会清除全部用户数据。关闭机器,同时按住电源键,音量+和音量-5 秒钟并松开,可以看到屏幕亮起,然后再同时按下音量+和音量-,就进入了一个菜单,用音量键移动并选择“关闭系统验证”,点击电源键确认,就进入了开发者模式。启动后,将在全新的 chromeos 欢迎页面上看到“启用调试模式”。这时会有个框,让你输入密码,可以留空。打开调试模式,进入 chromeos 桌面,并按下 Ctrl+Alt+T 打开 crosh。在 crosh 中输入 shell,回车,可以看到进入了 shell,用户为 chronos。按 Ctrl+Alt+F2 进入命令行,输入用户名 root,密码 test0000 登录。在 root 的命令行中输入 enable_dev_usb_boot,就打开了 USB 启动。关机。下载并安装镜像ubuntu arm 有两种安装方式:直接安装到 emmc 或者安装在 USB/SD 卡。由于 10e 没有 sd 卡槽,直接安装在 emmc 比较方便。在本章节之后,全部都是按照 emmc 编写的,但可以举一反三。项目地址:https://github.com/hexdump0815/imagebuilder进入 github 链接点进 releases,找到我们的 cpu mt8183 对应的镜像。 https://github.com/hexdump0815/imagebuilder/blob/main/systems/chromebook_kukui/readme.md如果要安装在 emmc,需要下载最新和倒数第二新两个镜像。如果只是在 usb/sd 卡中安装,只需要下载最新镜像。安装在 usb/sd 卡:将镜像刻录到 U 盘/SD 卡中即可。安装在 emmc:将旧镜像刻录到 U 盘。插入设备,选择 usb 启动。然后可以看到已经启动到 ubuntu 界面。默认是进入 xfce 桌面,可以点击小齿轮选择 ubuntu on wayland 进入 gnome。密码是 changeme。以 root 权限运行/scripts/extend-rootfs.sh 扩展根文件系统复制/下载最新镜像到 usb 中。# 请根据自己chromebook情况选择设备!一般arm设备是mmcblk0 zcat xxx.img.gz | dd of=/dev/mmcblk0 bs=1M status=progress这样就完成了安装。安装到 emmc 的。拔掉 usb 并重启;安装到 sd 卡的退出登录。重命名用户在登陆界面 Ctrl+Alt+F2,进入 tty2,用 linux 用户登录到控制台,密码 changeme。然后输入 sudo passwd root,将 root 密码更改成你想要的。改完后输入 exit 退出登录,再用 root 用户密码登录。运行/scripts/rename-default-user.sh xxx,把默认用户 linux 换成你的名字。设置 btrfs 并安装 timeshift通过观察会发现,这个镜像采用的是 btrfs 作为根分区。btrfs 可以进行快照,从而很简单的恢复备份。一般而言,ubuntu 系列的系统可以采用 timeshift 进行快照/恢复。但是 timeshift 不支持作者默认的挂载结构,需要我们手动更改。timeshift 支持的结构:分区下仅有@和@home两个子卷,将@挂载为/,将@home挂载为/home。并且要求 btrfs 卷默认挂载subvolid=5 (FS_TREE)。先查看现在作者默认的目录结构:cd / btrfs subvol list # ID 123 gen 3359 top level 5 path swap # 发现只有一个swap,记下ID后的数字123。也就是说默认直接把卷的根挂载到/。并且 timeshift 不太支持这种 swap(忘记哪看到的了),因此我们要关闭 swap。swapoff /swap/ cd / && btrfs subvol delete --subvolid swap的id / vim /etc/fstab # 删去含swap的那一行然后我们再创建@和 home 子卷cd / btrfs subvolume create @home # 创建@home子卷 cp -a --reflink home/. @home/. # 复制文件到@home btrfs subvol snapshot / /@ # 创建并复制文件到@这时目录已经建好,只需要更改内核命令行修改启动参数即可。更改命令行需要手动修改 boot 分区。如果是 amd64 估计用不着这么麻烦,可以直接在/etc/kernel/cmdline 改# cat /proc/cmdline # root@changeme:~# cat /proc/cmdline # cros_secure cros_secure console=tty1 root=PARTUUID=88xxxxc6-dddd-6341-b468-4a50b1d53e06/PARTNROFF=3 rootwait ro fsck.fix=yes fsck.repair=yes net.ifnames=0 ipv6.disable=1 fw_devlink=off noresume apparmor=0 cat /proc/cmdline > /boot/cmdline # 先获取当前内核命令行,然后在最后增加rootflags=subvol=@参数,并可以将ipv6.disable改成0开启ipv6。效果如下 # cros_secure cros_secure console=tty1 root=PARTUUID=88xxxxc6-dddd-6341-b468-4a50b1d53e06/PARTNROFF=3 rootwait ro fsck.fix=yes fsck.repair=yes net.ifnames=0 ipv6.disable=0 fw_devlink=off noresume apparmor=0 rootflags=subvol=@ cd /boot ls # 查看内核版本名 export kver=xxx # 目前大概是 6.1.11-stb-mt8+ cp -v vmlinux.kpart-${kver} vmlinux.kpart-${kver}.old cp Image-${kver} Image lz4 -f Image Image.lz4 cp initrd.img-${kver} initrd.img.xz dd if=/dev/zero of=bootloader.bin bs=512 count=1 ls dtb-${kver}/*.dtb | xargs printf " -b %s" | xargs mkimage -D "-I dts -O dtb -p 2048" -f auto -A arm64 -O linux -T kernel -C lz4 -a 0 -d Image.lz4 kernel.itb vbutil_kernel --pack vmlinux.kpart --keyblock /usr/share/vboot/devkeys/kernel.keyblock --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --version 1 --config cmdline --bootloader bootloader.bin --vmlinuz kernel.itb --arch arm cp -v vmlinux.kpart /boot/vmlinux.kpart-${kver} rm -f Image Image.lz4 initrd.img.xz cmdline bootloader.bin kernel.itb vmlinux.kpart # single boot only testing: # 这里是测试内核是否能启动,我测试过没问题,所以大家可以跳过这一块,不需要运行 dd if=/boot/vmlinux.kpart-${kver} of=/dev/mmcblk0p2 bs=4096 cgpt add -i 2 -S 0 -T 1 -P 15 /dev/mmcblk0 # worked, then for permanent: # 最后dd写入内核 dd if=/boot/vmlinux.kpart-${kver} of=/dev/mmcblk0p1 bs=4096到这里先别着急重启。还需要改/etc/fstab。根据 timeshift 的说法,他的要求特别严格:除了上面的要求以外,还要 fstab 的/和/home 分区必须是用 UUID 或者/dev/mmcblk0p0 这样的形式指定。我们的系统默认是通过 label。大家需要更改。对于这台机子,把里面的 LABEL=rootpart 改成/dev/mmcblk0p4。fstab 需要大致如下,注意里面的 subvol=@,subvol=@homeLABEL=bootpart /boot ext4 defaults,noatime,nodiratime,errors=remount-ro 0 2 /dev/mmcblk0p4 / btrfs defaults,ssd,compress-force=zstd,noatime,nodiratime,subvol=@ 0 1 /dev/mmcblk0p4 /home btrfs defaults,ssd,compress-force=zstd,noatime,nodiratime,subvol=@home 0 0 #/swap/file.0 none swap sw 0 0更改完 fstab,再用命令设置默认卷btrfs subvolume set-default 5 /现在重启,重启之后应该就把@挂载到/,@home 挂载到/home 了。大家如果成功启动并登录就说明是正常的。这一步如果正常,就可以删除在原先磁盘根目录下除了@和@home 的所有文件。mount /dev/mmcblk0p4 /mnt cd /mnt && ls # 现在能看到mnt下有原来根目录文件以及@和@home。删除除这两个以外所有文件。安装 timeshiftapt install timeshift到这里 timeshift 就能用了。大家可以先不急着快照,因为屏幕旋转问题还没解决。修复屏幕旋转角度错误这个问题是加速度传感器与屏幕方向不匹配。创建一个/etc/udev/hwdb.d/61-sensor-local.hwdbvim /etc/udev/hwdb.d/61-sensor-local.hwdb # 内容如下 # sensor:modalias:platform:cros-ec-accel:* # ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1这里的意思是匹配 chromebook 的加速度传感器,并且设置传感器指示的正确方向。然后运行systemd-hwdb update udevadm trigger -v -p DEVNAME=/dev/iio:device1 systemctl restart iio-sensor-proxy monitor-sensor # 如果是在正常横屏情况下显示left-up一般就成功了拆下键盘,测试下屏幕旋转是否正常。一般就正常了。到这里旋转解决了。安装 ubuntu-desktop 并卸载多余环境这里可以根据自己需要操作。想要 ubuntu 的就装 ubuntu-desktop,要 kde 就装 kde,自己解决。安装完后卸载掉多余的桌面环境和包。本文里只写一下安装 ubuntu-desktop 的命令。apt install ubuntu-desktop dpkg-reconfigure gdm3 # 选择登陆管理器为gdm3 apt purge *xfce* *lightdm* # 卸载xfce和lightdm重启即生效。可以看到标志性的 ubuntu 登陆界面。关于升级系统从 22.04 往上升级的话,会出现屏幕在刚开机的时候一直是黑的的问题。不知道为啥。可以写一个脚本放在/etc/init/当中,在系统启动时自动重启 gdm。到时候找到 bug 再做其他处理。root@tab10e:~# cat /etc/init/temporarily-restart-gdm.conf # 文件内容如下 description "restart gdm before login" start on startup task exec systemctl restart gdm系统美化这个网络上教程一大把,大家可以按照自己口味来。关键词 ubuntu 美化教程关于电源按钮功能如果你拿来当一台普通平板使用,想要他在不用时保持超长续航,那么需要设置电源按钮功能为挂起。如果你想要把它拿来当一台一只在线的服务器带屏用(比如把 homeassistant 装在里面),那么显然电源按钮不能一按就挂起或者关机。但是 ubuntu 的电源按钮功能只有 suspend、poweroff、ignore 三种,如果我们不想 suspend,只想按电源关闭屏幕,就需要一些操作。可以用 acpid 监听电源按钮事件。apt install acpid首先 Ubuntu on wayland 关闭屏幕比较困难(X11 相对简单),我们需要用那个当前登录的账户来执行命令,因此需要安装 doasapt install doas vim /etc/doas.conf # 内容如下 permit nopass root这个配置允许 root 以任何用户身份执行命令,应该没什么安全问题。然后创建一个脚本/path-your-script/powerbutton.sh#!/bin/bash export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus export XDG_RUNTIME_DIR=/run/user/1000 mode=$(busctl --user get-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode) logger "busctl --user get-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode $mode" if [ "$mode" = "i 0" ]; then # monitor on, turn off monitor busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode i 3 elif [ "$mode" = "i 1" ] || [ "$mode" = "i 2" ] || [ "$mode" = "i 3" ]; then # monitor off, turn on monitor busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode i 0 elif [ "$mode" = "i -1" ]; then # unknown, turn off monitor busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode i 3 fi这个脚本中 1000 是你的登录用户的 uid,自己查看是多少。如果只有一个用户,一般就是 1000apt install acpid vim /etc/acpi/events/powerbutton # 写入如下内容 event=button/power action=doas -u xxx /path-your-script/powerbutton.sh # 到这里结束 systemctl restart acpid然后在设置里面把电源按钮功能改成无就行了。docker安装和普通系统完全一样,参考网络即可杂项在 wayland 下,firefox 用命令行启动时需要加环境变量,否则看起来比较不清晰(直接点击快捷方式没这个问题)MOZ_ENABLE_WAYLAND=1 firefox-esr同理在 wayland 下 chrome 也需要添加 flags 才能变得清晰。chrome --enable-features=UseOzonePlatform --ozone-platform=wayland如果想在启动 firefox 之后自动按 f11,在 X11 下可以用注释掉的内容(xdotool),wayland 下没有好办法,只能用 kiosk 模式#!/bin/bash # X11用xdotool # /usr/lib/firefox-esr/firefox-esr "http://127.0.0.1:8123" & # xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11 # 要先安装xdotool # wayland暂时没法F11全屏 MOZ_ENABLE_WAYLAND=1 /usr/lib/firefox-esr/firefox-esr --kiosk "http://127.0.0.1:8123"
2023年06月25日
504 阅读
0 评论
3 点赞
2023-06-15
bitlocker:设置中无设备加密解决办法
https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-bitlocker#un-allowed-dma-capable-busdevices-detectedhttps://forum.xda-developers.com/t/fix-un-allowed-dma-capable-bus-device-s-detected.4321643/https://superuser.com/questions/1345848/un-allowed-dma-capable-bus-devices-detected事实证明,您不必使用消除过程来找出要将哪条总线添加到批准列表中,它在事件查看器消息中。打开事件查看器。选择应用程序和服务日志 -> Microsoft -> Windows -> BitLocker-API -> 管理。查看这些内容添加。查找带有事件 4122 的“信息”项:它将包含如下内容的文本:$tmpfile = "$($env:TEMP)\AllowBuses.reg" 'Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DmaSecurity\AllowedBuses]'` | Out-File $tmpfile (Get-PnPDevice -InstanceId PCI* ` | Format-Table -Property FriendlyName,InstanceId -HideTableHeaders -AutoSize ` | Out-String -Width 300).trim() ` -split "`r`n" ` -replace '&SUBSYS.*', '' ` -replace '\s+PCI\\', '"="PCI\\' ` | Foreach-Object{ "{0}{1}{2}" -f '"',$_,'"' } ` | Out-File $tmpfile -Append regedit /s $tmpfile这个脚本会加入比较多的内容,需要自己挑下,只要把事件4122的加入就行
2023年06月15日
90 阅读
0 评论
0 点赞
2023-05-04
NanoPi R5S 蓝牙与wifi驱动设置
本文的usb设备是rtl8821cu, 软路由是r5s, 固件是rk3568-sd-debian-bullseye-minimal-5.10-arm64-20230314.img.gz.友善官方已经支持了rtl8821cu的wifi, 直接刷上系统就可以用. 但是蓝牙看起来却不行. 网络上找了很多固件编译测试, 基本上全部都不行, 最后偶然间找到了正确的方法, 不需要编译, 原来驱动已经在系统中了.hciconfig -a hciconfig hci0 up # 会报一个大概这样的错 # no such file or directory(2)查看内核日志:dmesg|grep tooth # 会出现这样的信息 # ... firmware file rtl_bt/rtl8821c_fw.bin not found可见在/lib/firmware/没有对应文件.但是我们来看/lib/firmware/下都有什么ls /lib/firmware/ # intel iwlwifi-cc-a0-59.ucode mediatek mt7662.bin mt7662_rom_patch.bin regulatory.db regulatory.db.p7s rockchip rtl_nic rtw88 # intel iwlwifi-cc-a0-59.ucode mediatek mt7662.bin mt7662_rom_patch.bin regulatory.db regulatory.db.p7s rockchip rtl8821cu_config rtl8821cu_fw rtl_nic rtw88发现有个文件rtl8821cu_fw. 显然这就是rtl8821cu的驱动. 如果把这个驱动直接复制到/lib/firmware/rtl_bt/rtl8821c_fw.bin, 会不会成功呢?mkdir /lib/firmware/rtl_bt/ cp /lib/firmware/rtl8821cu_fw /lib/firmware/rtl_bt/rtl8821c_fw.binhciconfig -a hciconfig hci0 up # 真的正常了竟然就这样成功了然后重启即可# 如果rfkill list显示hci0是blocked rfkill unblock 0
2023年05月04日
259 阅读
0 评论
0 点赞
1
2
3