电脑使用经验
这里记录了一些个人使用电脑的经验和网上搜集的教程
windows
windows快捷键
部分快捷键在其他系统上可用
全选ctrl+a
剪切ctrl+x
复制ctrl+c
粘贴ctrl+v
显示桌面ctrl+d
截图win+shift+s
窗口切换ctrl+alt+tab
安全选项ctrl+alt+del
运行win+r
任务视图win+tab
任务视图(旧)alt+tab
任务管理器ctrl+shift+esc
文件管理器win+e
重命名选中文件+f2
选中任务栏软件图标win+t
打开搜索win+q
打开小组件win+w
打开设置win+i
打开通知栏win+n
撤回ctrl+z
重做ctrl+shift+z
切换桌面Ctrl+Alt+方向键
输入大写或标点shift+键盘上的按键
任务管理器关闭任务delete
显示顶栏菜单对应键盘字母Alt
选择顶栏菜单按钮Alt+对应字母(部分为Ctrl+对应字母)
切换输入法win+space
或Ctrl+shift
打开剪贴板win+v
多选按住Ctrl,鼠标进行选择
选择一列按住shift,鼠标选择起点后再选择终点,中间部分会自动勾选
关闭当前窗口Alt+F4
刷新F5
全屏/取消全屏F11
打开旧版windows右键菜单 Shift+右键
锁定Windows win+l
windows程序
使用win+r运行
组策略管理gpedit.msc
服务services.msc
任务计划程序taskschd.msc
系统配置msconfig
注册表regedit
用户账户Netplwiz
“关于Windows”winver
计算机管理compmgmt.msc
控制面板control
directx诊断dxdiag
自启动程序图标shell:startup
系统属性sysdm.cpl
已安装软件列表shell:AppsFolder
windows开始菜单图标路径
1 |
|
Windows 任务栏快捷方式路径
1 |
|
windows自启动图标路径
1 |
|
windows 桌面图标缓存路径
1 |
|
windows最近文件夹路径
1 |
|
windows更新缓存路径
1 |
|
windows 用户配置文件路径
1 |
|
windows文件管理器界面快捷方式的注册表路径
1 |
|
在用户账户netplwiz启用自动登陆复选框
注册表中 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device\PasswordLessBuildVersion
把3改为0
隐藏windows10设置中的部分设置
运行gpedit.msc
(本地组策略编辑器),依次点开计算机配置
–>管理模板
–>控制面板
,找到设置页面可见性
编辑,点击已启用
在选项中的输入框中输入参数
如隐藏账户设置
1 |
|
再点击应用即可
更多参数信息在微软官方文档
隐藏windows中控制面板的部分设置
运行gpedit.msc
(本地组策略编辑器),依次点开用户配置
→管理模版
→控制面板
,找到隐藏指定的“控制面板”项
编辑,点击已启用
,在选项中点击显示
,在”值“
的输入框中输入参数
如Microsoft.UserAccounts
(用户账户),Microsoft.CredentialManager
(凭据管理器)
输入完成后点确定,再点击应用即可
更多参数信息在微软官方文档
cmd指令
强制关闭进程
1 |
|
创建软链接
1 |
|
删除软连接
1 |
|
进入目录
1 |
|
禁用驱动程序强制签名
1 |
|
启用驱动程序强制签名
1 |
|
windows11恢复旧版右键菜单
1 |
|
windows11恢复新版右键菜单
1 |
|
设置环境变量
1 |
|
刷新dns缓存
1 |
|
windows修复分区
1 |
|
关闭windows defender计划扫描
1 |
|
winget软件源管理
1 |
|
扫描并修复系统
1 |
|
其他软件使用
- bandizip默认压缩编码为gbk,可根据需求更改为utf-8编码
- 在基于Unity,虚幻等制作的游戏中可以按住Alt+Enter快速进入全屏模式
- 在OBS Studio中可按住Alt键裁剪窗口
- 在桌面或文件管理器空白处按住 Shift 点鼠标右建,可以打开PowerShell
- vmware在刚刚开机时一直按F2或者Esc可以进入虚拟机的bios
- 在任务管理器按下
Ctrl
键暂停刷新 - 浏览器控制台输入
document.body.contentEditable=true
启用网页编辑模式,输入document.body.outerHTML=document.body.outerHTML
解除网页复制限制 - 浏览器地址栏输入
data:text/html,<html contenteditable>
打开文本编辑器
浏览器快捷键
支持firefox/chrome/其他浏览器
关闭当前标签页Ctrl+F4
将鼠标点击的链接在后台打开Ctrl+鼠标左键
切换标签页Ctrl+Tab
浏览器插件存档
Translate Web Pages | 网页实时翻译 |
AdBlock | 广告拦截 |
AdGuard | 广告拦截,拦截效果比adblock好 |
Global Speed | 视频速度控制 |
Image Search Options | 网页识图 |
Infinity | 自定义标签页 |
Tampermonkey | 油猴脚本管理器 |
To Google Translate | 网页翻译 |
User-Agent Switcher and Manager | 浏览器UA修改 |
Video DownloadHelper | 视频下载 |
bilibili哔哩哔哩下载助手 | 可下载哔哩哔哩视频 |
Mate Translate | 网页翻译 |
SteamDB | 第三方steam数据库网站 |
Turbo Download Manager | 下载器 |
OneTab | 标签页整理,省内存 |
New Tab Override | 自定义新标签页 |
Tree Style Tab | 树形标签页 |
iTab | 浏览器标签页 |
FoxyTab | 扩展右键菜单 |
Firefox Multi-Account Containers | firefox多用户容器 |
Firefox Color | firefox主题编辑器 |
Easy Youtube Video Downloader Express | YouTube视频下载 |
DuckDuckGo Privacy Essentials | 隐私搜索 |
Download with JDownloader | 下载器 |
Download Manager S3 | 下载器 |
无追搜索 | 隐私搜索 |
图片助手 | 批量图片下载器 |
腾讯翻译 | 翻译工具 |
浏览器盒子 | 网页工具 |
关灯看视频 | 网页黑暗模式 |
SuperCopy | 解除复制限制 |
SponsorBlock for YouTube | 跳过YouTube赞助商广告 |
I don’t care about cookies | 去除网页cookies提示 |
find+ | 高级搜索 |
Dark Reader | 网页黑暗模式 |
多线程下载管理器 | 下载器 |
singlefile | 将完整的页面保存到一个html文件中 |
沉浸式翻译 | 支持双语对照显示的翻译插件 |
acghelper | bilibili视频下载,查看 |
Powerful Pixiv Downloader | 保存Pixiv上的图片和小说 |
BookmarkHub | 跨浏览器书签同步插件 |
划词翻译 | 划词翻译工具 |
侧边翻译 | 翻译插件 |
visual studio code插件
background-cover | 背景切换 |
CodeGeeX | ai辅助编程 |
ESLint | 代码格式化 |
GitHub Actions | 针对 VS Code 中托管存储库 github.com GitHub 操作工作流和运行 |
GitHub Pull Requests and Issues | GitHub 的拉取请求和问题提供程序 |
GitLens | 在 VS Code 中增强 Git |
Markdown | 可以简单地使用快捷键将粘贴板的图片上传到七牛图片床插件中,让您使用 vscode 编写 markdown,以获得更好的体验 |
Markdown All in One | 编写 Markdown 所需的一切(键盘快捷键、目录、自动预览等) |
Markdown Preview Github Styling | Markdown预览 |
Pylance | 高性能、功能丰富的 VS Code Python 语言服务器 |
Python | 智能感知(Pylance)、检查、调试(多线程、远程)、代码格式化、重构、单元测试等 |
Continue | ai辅助编程 |
通义灵码 | ai辅助编程 |
edge浏览器进入高级设置
在地址栏输入以下并回车
1 |
|
firefox浏览器进入高级设置
在地址栏输入以下并回车
1 |
|
edge浏览器关闭 使用推荐的浏览器设置 弹窗
在地址栏输入
1 |
|
将下面第一个选项的Default
改成Disable
,并重启浏览器
win10优化方法
低配机可尝试
固态硬盘禁用休眠文件
禁用系统7G预留
禁用传递优化
禁用自带杀毒WD(这个看个人)
禁用后台应用
开启存储感知
更改新内容的保存位置设置到别的盘
更新系统后清理临时文件
删除系统还原点并禁用还原点
用户里的Appdata文件转移到D盘
用户里的桌面,文档等转移D盘
索引选项的位置改D盘
四个缓存变量temp修改到D盘
绿色版火绒弹窗拦截
绿色版迅雷(IDM也可以,和绿色版迅雷一起更好)
dism++进行简单系统设置
dism++空间回收勾选几个不会影响系统稳定的选项进行清理
运行库用DirectX4.0打上
安装net3.5需要打开系统自动更新,不然无法安装。
新版edge浏览器更新一下,然后到C盘清理更新包和浏览器缓存temp
新版edge浏览器可以借助第三方软件搬家工具转移到D盘
office可以通过修改注册表安装到你想要的盘
微软账号登录一直转圈圈或者报错的,可以通过下载UU加速器,加速微软商店,就可以瞬间登录,吊打修改DNS,修改DNS不一定有效果,UU加速器100%直接登录微软账号,一路畅通无阻
不玩Xbox的,可以关闭系统自带游戏模式,对非Xbox游戏是负优化
支持开启GPU硬件加速和可变刷新率的,都开启
新版edge浏览器下载一个AdGuard广告拦截扩展,可以屏蔽大部分广告内容和高速下载地址这种流氓下载地址,下载东西就没流氓捆绑软件了
解压软件推荐微软商店的Breezip或者破解版Bandizip或者7-z,或者去广告的winrar.
配置不低的最好用原版win10,不要用第三方修改版系统。官方的企业版LTSC适合低配机,功能阉割了很多,中配和高配就没必要用精简版了
安装系统最好用微PE网络版,dism++还原原版镜像,还原后,dism++里对系统进行简单的设置处理OOBE界面不要联网,不要设置PIN,锁屏界面的账号不要用微软账号,用本地账号就行了,软件登录微软账号就行了,谨记禁用一些对自己用不到的服务,比如Windows search服务,打印机服务,预览体验服务,备份服务等你认为自己用不到的服务
dism++删除预装应用的安装包后,可以对win10全家桶进行转移到别的盘
最后,你的原版win10(比如20H2),流畅度堪比精简版,C盘占用不会超过15G。不删除任何组件,这样的系统比精简版好太多了。
win10关闭自动更新
1、同时按下Win + R
组合快捷键打开运行命令操作框,然后输入gpedit.msc
,点击确定
2、在组策略编辑器中,依次展开 计算机配置
-> 管理模板
-> Windows组件
-> Windows更新
->管理最终用户体验
在Windows11中,依次展开
计算机配置
->管理模板
->Windows组件
->Windows更新
3、然后在右侧配置自动更新
设置中,将其设置为已禁用
并点击下方的确定
4、之后还需要再找到删除使用所有Windows更新功能的访问权限
,选择已启用
,完成设置后,点击确定
利用firefox开发者网站转换chrome插件为firefox插件
1、提前准备好Chrome插件。
2、打开Firefox浏览器,建议使用国际版。下载链接就不提供了,大家自己找一下吧。
3、打开Firefox开发者网址
4、点击右上角登录或注册
5、使用你的Firefox帐号登录网站
一般会自己链接你的Firefox帐号,如果没有链接,你输入帐号和密码注册为Firefox开发者即可。
是的,注册成功后,你就是Firefox插件开发者的一份子了,哈哈哈哈。
6、登录后,点击页面右上角开发者中心
7、点击右下角提交新附加组件
8、选择如何分发此版本。因为我们上传的是别人开发的东西,只是用此方法来转换,所以一定请选我自己托管
。不这样选,插件会出现在插件库中,全网可以搜索到。当然,大概率是你上传后根本审核不通过……然后点击继续
9、点击选择文件
,选择刚才你准备好的插件文件。
10、选定你准备好的插件后,插件会自动上传并进行验证,验证结束后会出现类似如下提示:
已完成验证:无错误,有10条警告。
有错误页面会直接提示,有错误提示一般代表插件文件损坏或者不支持(可以尝试去github上找代码文件试试)。
如显示无错误,再选择下面的程序兼容性(我没用android手机,所以没选)
再点击签名附加组件
11、出现让你提交源代码的页面
怎么说呢,这个你根本没有源代码,所以直接点否吧,有源代码也别提交,毕竟真正的开发者并不是我们不是……
再点继续
12、大功告成!
点击转至我的提交
13、找到你刚才提交的附加组件并点击
14、点击左上角查看全部
15、这时你会看到你提交的插件正在审核,等待1分钟,刷新一下页面,一般就会提示已经审核通过。
当显示已审核后,点击左边的版本号
16、点击版本后,在出现的页面里点击插件的文件名,这时浏览器会自动下载你刚才上传并签名的插件,下载完后,你点击添加。
这下,真正大功告成!
windows下隐藏文件
打开cmd窗口,在弹出的窗口输入
1 |
|
例如
1 |
|
其中+s
附上系统文件属性,+h
附上隐藏属性,+r
附上只读属性
写好后,回车,文件已经成功隐藏
如果想去掉刚刚附上的属性,只需要将+
换为-
,即可恢复隐藏。
关于查看的方法也很简单,在文件夹选项里,取消隐藏系统文件,然后按确定,即可查看隐藏的系统文件
解决parsec国内无法使用
1、下载v2rayN
2、在v2rayN中添加节点(节点可从网上寻找),并启用
3、在文件管理器中打开C:\Users\用户名\AppData\Roaming\Parsec
,找到config.txt
,在文本的最后添加下列参数
1 |
|
5、重新打开parsec即可正常使用
注:
1、
app_proxy_address为代理的地址
app_proxy_scheme为代理协议
app_proxy_port为代理的端口
2、v2rayN的参数可在软件所在目录中”config.json”查看,socks代理默认端口为10808,http代理默认端口为10809
bios核显设置优化
GFX Boost 意思是GPU动态加速,默认是关闭的,我们要开启,方法是按方向键选中此项回车,再选择Enabled开启,而选择Disabled关闭
DVMT Pre-Allocated 意思是显存采用预分配,这里可以调大一些,也不是越大越好因为会减小系统内存,推荐调到128。
DVMT Total Gfx Mem 意思是显存采用总大小,也就是动态显存总分配大小,这个也不是越大越好,以情况而定,我自己选的是Max最大
Aperture Size 这个是最大图形缓冲区,默认256我选的512。
windows解决桌面图标发白
创建*.bat
文件
填入以下内容:
1 |
|
运行这个脚本即可解决
windows快捷调整桌面图标大小
单击桌面任意区域后,Ctrl+鼠标滚轮
进行调整
在uefi启动下安装windows后启动windows时出现错误提示导致启动失败的解决方法
使用笫三方工具(如dism++
,Windows NT安装器
)安装Windows后,进系统时出现错误,
可能与windows系统的引导文件残留有关,
可尝试删除ESP
分区中的Windows引导文件(使用diskgenius
),windows的引导文件在EFI
文件夹中的microsoft
文件夹
BOOT文件夹中的文件
再删除uefi引导项
(使用bootice
),Windows的引导项为Windows boot manager
或者使用Windows官方镜像自带的安装工具进行安装
dism++
,window NT安装器
可绕过TPM限制来安装Windows11
windows调整虚拟内存设置
1、在桌面此电脑
图标上点击鼠标右键,然后选择属性
选项
2、打开系统窗口后,点击左上角的高级系统设置
选项
按下win+r快捷键,输入
sysdm.cpl
,运行,也可以启动高级系统设置
3、在打开的窗口中,点击高级
选项卡下性能
选项组的设置
按钮
4、打开性能选项窗口后,点击高级
选项卡中的更改
按钮
5、在打开的窗口中,首先取消勾选自动管理所有驱动器的分页文件大小
6、接下来选择自定义大小
,然后手动设置初始大小以及最大值。接下来先点设置
(不然不会保存),然后点击确定
按钮
windows安装并配置msys2
1、在msys2官网下载并安装msys2
2、记下刚才安装的路径,比如C:\msys64
3、在桌面此电脑
图标上点击鼠标右键,然后选择属性
选项
4、打开系统窗口后,点击高级系统设置
选项
按下win+r快捷键,输入
sysdm.cpl
,运行,也可以启动高级系统设置
5、在打开的窗口中,点击高级
选项卡下环境变量
6、在系统变量
部分双击Path
,点击新建
,输入以下路径
1 |
|
C:\msys64
为msys2安装路径,所以msys2安装到哪个路径,上面要输入的值也要修改相应的部分
然后一直点确定
直至完成
7、在windows的开始菜单里找到MSYS2 UCRT64
,打开,输入
1 |
|
8、如果使用gcc来编译,需要安装编译工具
1 |
|
安装好后尝试编写一个程序main.c
1 |
|
编译源码生成一个程序test.exe
1 |
|
运行test.exe
1 |
|
能够正常输出文字说明能正常使用gcc
参考:
https://mirrors.tuna.tsinghua.edu.cn/help/msys2/
https://code.visualstudio.com/docs/cpp/config-mingw#_installing-the-mingww64-toolchain
在windows终端配置msys2
win10要在microsoft store安装
1、打开Windows终端设置
2、点击添加新配置文件
3、在名称
中填入MSYS2 UCRT64
4、在命令行
填入
1 |
|
5、在启动目录
勾选使用父进程目录
6、在图标
填入
1 |
|
C:\msys64
为安装目录,根据具体安装的目录修改
7、保存后生效
vscode配置msys2
在vscode的settings.json
配置文件的terminal.integrated.profiles.windows
参数下添加以下内容
1 |
|
然后在vscode的设置搜索Windows 上的默认终端配置文件
将选项改成MSYS2 UCRT64
,之后在vscode打开终端时默认就使用msys2
visual studio设置代码编码格式为utf8
修改visual studio的代码编码格式需要进入高级保存选项
,由于这个选项在VS中是默认隐藏的,需要手动调出来。具体操作方法如下
- 1、单击
工具
->自定义
,弹出自定义
对话框 - 2、单击
命令
标签->进入命令
选项卡 - 3、
菜单栏
下拉列表->选择文件
选项 - 4、单击
添加命令
->弹出添加命令
对话框 - 5、在
类别
列表中,选择文件
选项,在命令
列表中,选择高级保存选项
选项 - 6、单击
确定
按钮,关闭添加命令
对话框 - 7、选中
预览
中的高级保存选项
选项,单击上移
或者下移
按钮,可以调整该命令的位置 - 8、关闭
自定义
选项框,单击文件
->高级保存选项
,在编码
下拉列表中就可以选择Unicode(UTF-8带签名)- 代码页650001
visual studio code配置c cpp调试配置
配置前需要安装好msys2
- 1、配置编译器
按快捷键Ctrl+Shift+P
调出命令面板,输入C/C++
,选择Edit Configurations(UI)
进入配置。这里配置两个选项:
编译器路径:C:/msys64/ucrt/bin/gcc.exe
IntelliSense 模式: windows-gcc-x64
配置完成后,此时在侧边栏可以发现多了一个.vscode
文件夹,并且里面有一个c_cpp_properties.json
文件,内容如下,说明上述配置成功。现在可以通过Ctrl+·
快捷键打开内置终端并进行编译运行了
·
这个健就是波浪号那个点不是句号的点
c_cpp_properties.json文件内容:
1 |
|
- 2、配置构建任务
按快捷键Ctrl+Shift+P
调出命令面板,输入tasks
,选择Tasks:Configure Default Build Task
再选择C/C++: g++.exe build active file
此时会出现一个名为tasks.json
的配置文件,内容如下:
建议
gcc
与g++
都跑一边两个选项都走一遍gcc
是c
,g++
是c++
tasks.json文件内容:
1 |
|
- 3、配置调试设置
用来配置调试的相关信息。点击菜单栏的运行
->启动调试
选择C++(GDB/LLDB)
这里最主要就是玄学的
launch.json
文件
launch.json文件内容:
1 |
|
修复在msys2安装的aria2无法下载文件的问题
这里使用MSYS2 UCRT64
当使用pacman安装aria2后,使用aria2下载文件时出现ssl/tls handshake failure: unable to get local issuer certificate
,这是因为aria2的依赖关系中未写上mingw-w64-ucrt-x86_64-ca-certificates
,所以不会自动安装ca-certificates
,但是aria2依赖这个进行下载,所以会报错
输入命令手动安装ca-certificates
即可解决
1 |
|
msys2软件包名存档
个人使用的msys2软件包存档
1 |
|
msys2安装lunarvim
1、下载依赖
1 |
|
2、下载安装脚本
1 |
|
编辑脚本内容
1 |
|
搜索detect_platform()
,注释掉这个函数的部分内容
1 |
|
3、运行安装脚本
1 |
|
脚本会提示安装一些依赖,输入y
确认,等待安装完成,最后安装的时候会出现报错,这个可以不管,直接使用Ctrl+C
结束脚本运行
4、配置环境变量
1 |
|
5、配置lunarvim
运行lunarvim
1 |
|
如果找不到命令,可以运行一次生成命令的脚本
1 |
|
然后按下c
键进入配置文件,添加以下内容
1 |
|
保存后生效。lunarvim配置插件可使用Lazy
,配置LSP可使用Mason
windows删除卸载残留的右键菜单打开方式
win+r
,输入regedit
打开注册表
打开
1 |
|
找到对应的残留软件并删除
windows使用手机的代理
windows10同理
1、确保手机和电脑处在同一个局域网中
2、在手机上下载every proxy
或者在百度上搜索every proxy
并安装
4、打开every proxy,启用HTTP HTTPS
选项
5、此时会看到Hosts
项和Port
项,比如
1 |
|
记下ip地址192.168.1.123
和端口8080
3、打开Windows设置依次打开网络和Internet
-> 代理
,在手动设置代理
点设置
,
启用使用代理服务器
,在代理ip地址
和``填写刚刚记下的东西
在请勿对一下条目开头的地址使用代理服务器。若有多个条目,请使用英文分号(;)来分隔。
下面的框填入以下内容
1 |
|
保存后生效,此时电脑就可以使用手机的代理了,如果手机使用了科学上网,在电脑上也可以使用
在使用完后记得禁用
使用代理服务器
手机的ip地址在重启或开关WIFI后会变化,请注意
windows安装office
演示安装Microsoft 365方法,其他版本office版本的安装大同小异
安装
1、前往office tool plus官网下载工具
2、解压,双击打开Office Tool Plus.exe
,接受许可条款,然后点击左侧三条横线的图标,展开选项
3、如果之前有安装过office,则在左侧栏选择工具箱
,在office工具
处选择移除office
4、在左侧栏选择部署
,在体系结构
选择64位
,在更新频道
选择半年度企业通道
,启用下载后再部署
,然后选择添加产品
,在产品列表
选择Microsoft 365 企业应用版
,点击确定
,在应用程序
处将不需要的应用取消勾选,一般只会用到Word
、PowerPoint
、Excel
,然后点击添加语言
,在语言列表
选择简体中文(中国)
,点击确定
,选择完后,点击最上方的开始部署
,在出现的弹窗中选择是
,等待部署完成,当部署结束后先不要打开office
激活
使用ohook激活
1、右键Windows开始菜单图标,选择终端管理员
(在Windows10中选择Windows PowerShell(管理员)
)
2、输入下面的命令下载并启动Microsoft-Activation-Scripts
1 |
|
下载成功后会自动弹出Microsoft-Activation-Scripts窗口
3、主界面显示Activation Methons
,并列出所有选项。这里选择[2] Ohook
,按下键盘上的数字2
,然后在下一个界面选择[1] Install Ohook Office Activation
,这时脚本将会给office进行激活
4、当显示Office is permanently activated
说明激活成功,这时就可以关闭Microsoft-Activation-Scripts窗口,使用office了
Microsoft-Activation-Scripts也可以用于激活Windows系统
使用kms激活
1、在左侧栏点击激活
,在许可证管理
点击右侧的箭头,在安装许可证
选择安装,在许可证列表
选择office mondo 2016 批量许可证
,点击确定
,然后在kms管理
点击右侧箭头,在kms主机
选项输入kms.loli.beer
(这里可以替换成其他kms服务器地址),再点击设置主机
,最后点击上方的激活
,等待激活完成
2、完成后即可使用office
kms服务器地址收录:
https://www.kms.pub/rank.html
windows家庭版转换成专业版
1、打开设置,依次打开系统
-> 系统信息
-> 产品密钥和激活
-> 更改激活密钥
2、输入专业版激活码,然后按提示操作就行
注:如果失败的话,先断网,再输入激活码,然后下一步,之后再联网进行切换
windows控制手机
前期准备:
1、前往scrcpy官网下载scrcpy-win64
,并解压
2此时把解压的文件放在合适的位置,位置可以自己选,只要能找到就行,比如
1 |
|
(文件夹内包括adb.exe
和scrcpy.exe
等文件,而且不能放在该文件夹的子文件夹里)
3、记下刚才的位置,在桌面此电脑
图标上点击鼠标右键,然后选择属性
选项
4、打开系统窗口后,点击高级系统设置
选项。
5、在打开的窗口中,点击高级
选项卡下环境变量
6、在系统变量
部分点双击Path
,点击新建
,输入记下的位置,然后一直点确定直至完成
使用有线连接
1、首先需要开启Android设备的开发者选项
和允许USB调试
。不同手机型号打开开发者选项的方式也不同,大致有两种方式可以打开开发者选项。
1)打开手机找到设置
–>找到系统
一栏(有些手机是更多设置
)–>选择打开开发者选项
和启用USB调试
,推荐启用“仅充电”模式下允许ADB调试
2)如果找不到开发者选项在哪,可以按照下面的方法找到开发者选项并打开:
打开手机找到设置
–>点击更多设置
–>点击进入关于手机
–>找到版本号
连续点击7次即可开启开发者模式
2、手机用usb线连接电脑,然后打开终端
3、检查是否连接成功
1 |
|
(手机会提示是否允许调试,点击确定)
说明连接成功
4、使用scrcpy进行连接
1 |
|
此时会弹出一个可以控制手机的窗口,可以通过鼠标和键盘控制手机
使用无线连接
注:确保手机和电脑处在同一个局域网
中
1、首先需要开启Android设备的开发者选项
和允许USB调试
。不同手机型号打开开发者选项的方式也不同,大致有两种方式可以打开开发者选项。
1)打开手机找到设置
–>找到系统
一栏(有些手机是更多设置
)–>选择打开开发者选项
和启用USB调试
,推荐启用“仅充电”模式下允许ADB调试
2)如果找不到开发者选项在哪,可以按照下面的方法找到开发者选项并打开:
打开手机找到设置
–>点击更多设置
–>点击进入关于手机
–>找到版本号
连续点击7次即可开启开发者模式
2、手机用usb线连接电脑,然后打开终端
3、检查是否连接成功
1 |
|
(手机会提示是否允许调试,点击确定)
说明连接成功
4、启用手机网络调试
1 |
|
此时可以断开手机和电脑的连接
4、查看手机的ip,比如192.168.1.111
然后使用adb无线连接
1 |
|
此时连接成功
5、使用scrcpy进行连接
1 |
|
此时会弹出一个可以控制手机的窗口,可以通过鼠标和键盘控制手机
注:手机在重启或重新打开usb调试后需要重新启用手机网络调试
windows设置u盘工作模式
1、按下win+r
键,输入compmgmt.msc
,确定
2、选择磁盘管理
,右键u盘,点击属性
–>策略
,
3、在删除策略
中可以选择快速删除(默认)
或者更好的性能(B)
快速删除:
优点:可热插拔U盘等外接移动设备
缺点:禁用设备和 Windows 上的写入缓存,降低传输速率
更好的性能:
优点:启用 Windows 中的写入缓存功能,确保完成所有缓存操作来保护U盘等外接移动设备上数据的完整性,加速传输速度
缺点:必须使用安全删除硬件,不能热插拔U盘等外接移动设备
windows解决幽灵账户:
当windows登陆微软帐号时,系统会要求用户设置pin登陆密码,但设置pin密码后,每次进入windows系统时都要输入密码,所以通过系统中的netplwiz设置自动登陆,但有时候会出现幽灵账户,导致系统无法正常自动登陆
解决办法:将pin密码设置为和你所登陆的微软帐号的密码相同,再重新设置windows自动登陆就解决了
windows上帝模式
1、右键桌面或者文件管理器空白的地方,创建一个新的文件夹
2、将文件夹命名为上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C}
3、这时候文件夹图标会变成控制面板的图标,双击即可打开
windows跳过登陆微软帐号
在OOBE界面中,到你想要如何设置此设备
时,点击针对个人使用进行设置
,点下一步,然后点登陆,到帐号输入界面,输入1@1.com
或者no@thanks.com
,或者类似的无效邮箱,点下一步,密码随便输,再点击登陆,当出现哎呀,出错了
时就跳过成功了
windows解决github的dns污染问题
github因为一些原因,时不时的无法访问,这是宽带运营商将github的域名进行重定向,当访问github时就会重定向至本地的ip地址,导致无法访问
解决的办法有几种:
1、使用科学上网
2、使用镜像站,比如https://ghproxy.com
3、修改host文件
这里介绍修改host文件的方法
1、访问ip138,输入以下域名进行解析ip
1 |
|
解析得到的ip要检验是否能够访问,使用cmd,输入
ping 解析到的ip
进行检验
2、打开文件管理器进入C:\Windows\System32\drivers\etc\
,将hosts文件复制到其他地方(避免权限问题导致无法保存,当然也可以在开始菜单中找到记事本,右键选“以管理员身份运行”,再打开这个文件),打开,用以下的格式填写域名和对应的ip,例如
1 |
|
保存并退出,并将文件移动到原来的地方
3、打开cmd,输入以下指令,刷新dns缓存
1 |
|
如果之后出现无法访问,再使用ping命令找出无法访问的ip地址,并替换
在linux的也是类似的修改方法,使用
sudo vim /etc/hosts
修改hosts文件,再用sudo systemctl restart systemd-networkd.service
应用修改
windows系统使用microsoft activation scripts激活windows系统和office
Microsoft-Activation-Scripts支持激活Windows系统和office办公工具,开源,小巧,支持HWID/Ohook/KMS38/Online KMS激活方式。Ohook激活方式仅支持激活office,但是支持永久激活,不会有KMS激活的180天的期限,推荐使用
使用powershell下载microsoft activation scripts
这是官方推荐方法,先打开powershell,然后输入下面命令
1 |
|
下载成功后会自动弹出Microsoft-Activation-Scripts窗口,根据提示进行激活操作
这种方法并不会下载文件到硬盘中,所以在结束Microsoft-Activation-Scripts运行后不会留下任何文件,下次使用时需要再次使用上面的命令下载
使用传统方法下载microsoft activation scripts
从官网链接下载Microsoft Activation Scripts下载
如果下载失败,可以选择github镜像站下载github镜像站下载
下载得到压缩包后,解压,然后依次打开Microsoft-Activation-Scripts\MAS\All-In-One-Version
,双击MAS_AIO.cmd启动Microsoft Activation Scripts,根据提示进行激活操作
windows系统启用长路径支持
在Windows API
中,路径的最大长度为MAX_PATH
,定义为260个字符。本地路径按以下顺序构建:驱动器号、冒号、反斜杠、用反斜杠分隔的名称组件以及终止null
字符。 例如,驱动器 D 上的最大路径为D:\some 256 个字符的路径字符串<NUL>
,其中<NUL>
表示当前系统代码页的不可见终止null
字符。
此处使用的字符
<>
是为了直观明了,不能是有效路径 string 的一部分
例如,如果将具有长文件名的 git 存储库克隆到本身具有长名称的文件夹,则可能会达到此限制。此时就可以通过启用长路径支持来解决这个问题
- 1、使用注册表文件来启用
创建一个reg后缀的文件,输入下面的内容
1 |
|
保存后双击运行
- 2、使用powershell来启用
打开一个具有管理员权限的powershell,输入下面的命令并回车
1 |
|
- 3、使用组策略管理器启用
按下Win+R
快捷键,输入gpedit.msc
并回车打开组策略管理器
选择计算机配置
->管理模版
->系统
->文件系统
->启用Win32长路径
,将该选项调成已启用
,确定后保存
参考:https://learn.microsoft.com/zh-cn/windows/win32/fileio/maximum-file-path-limitation
如何防止windows defender误删文件
Windows Defender在扫描文件时,如果发现有疑似的恶意文件,就自动删掉并告知用户,而且没有文件恢复功能。当安装了其他的杀毒软件,Windows Defender的自动扫描病毒功能将自动关闭,但如果不小心打开了就很难关掉,所以下面的方法可以阻止Windows Defender误删文件
- 1、打开Windows Defender界面
打开Windows开始菜单,找到Windows安全中心
,点击打开界面 - 2、进入添加添加忽略项目的界面
点击病毒和威胁防护
->“病毒和威胁防护”设置
->管理设置
->排除项
->添加或删除排除项
,进入添加添加忽略项目的界面 - 3、添加排除项
点击添加排除项
->文件夹
,在这个界面选择需要排除的文件夹(或者盘符),然后点击选择文件夹
进行保存,之后Windows Defender将自动忽略这些已添加的文件夹,防止误杀
 
解决 PowerShell 无法执行脚本问题
Windows PowerShell 默认开启安全限制,导致无法执行一些脚本。使用管理员权限运行 PowerShell,输入下面的命令解除这个限制。
1 |
|
在 MSYS2 安装 MicroMamba
在 MicroMamba Releases 里下载
micromamba-win-64
文件,将文件命名成micromamba.exe
后放到~/.local/bin
文件夹中。运行下面的命令初始化 MicroMamba 配置。
1 |
|
- 编辑 Shell 配置文件,添加 MicroMamba 的配置。
1 |
|
加入以下的内容。
1 |
|
配置文件参考:Micromamba >v1.4.5 broken with cygwin · Issue #2683 · mamba-org/mamba
重载 Shell 配置。
1 |
|
- 使用下面的命令添加 Conda 源。
1 |
|
完成后就可以使用 MicroMamba 安装软件包了。
在 Zsh 上可能会出现一些问题,比如出现
parse error near
^M’`之类的错误导致运行异常。
配置 Conda 镜像源
编辑.condarc
文件,将配置修改成下方的。
1 |
|
清理旧的使镜像源生效。
1 |
|
 
修复 Windows 更新出现下载错误 - 0x80248007
在 Windows 11 系统下载地址下载 Windows 系统镜像,使用镜像进行更新。
参考:Win11系统更新提示:安装错误 - 0x800f0991 和 0x8007025d。 - Microsoft Community
 
修复 Windows 更新出现下载错误 - 0x80248007
- 按下
Win + R
,输入services.msc
并运行,找到Windows 更新
右键停止。 - 进入
C:\Windows\SoftwareDistribution
路径,把DataStore
和Download
文件夹删掉。 - 再回到
services.msc
,找到Windows 更新
右键启动。 - 重启系统。
 
配置 Embed Python
下载 embed python,并解压。
进入 Embed Python 的文件夹,编辑python310._pth
文件,将#import site
改成import site
,如下。
1 |
|
保存该文件后,下载 get-pip.py 到当前文件夹中,再打开终端运行get-pip.py
。
1 |
|
运行成功后就配置好 Embed Python 了。
Android
列出分区
1 |
|
提取boot
1、查看boot所对应的分区:
1 |
|
显示对应分区为sdc11
2、提取:
1 |
|
刷入boot
1、方法1:
使用dd
指令
2、方法2:
1 |
|
termux-tools命令
termux-change-repo
(换源)termux-fix-shebang
termux-info
termux-open
termux-open-url
termux-reload-settings
termux-reset
termux-setup-storage
termux-wake-lock
termux-wake-unlock
安装 Linux 容器
1 |
|
termux保持终端运行
安装tmux:
1 |
|
运行tmux:
1 |
|
termux安装linux脚本链接
https://gitee.com/skymysky/linux#tmoe-linux
 
miui13获取电池健康度
- 1、获取系统调试日志
方法一:
连续点击音量键的上下键3次
方法二:
打开拨号界面,输入下面的内容1
*#*#284#*#*
- 2、解压日志文件
进行上一步骤后,通知栏就显示生成bug报告
,等待生成完成
然后打开手机文件管理器,找到MIUI/debug_log
路径,在这个目录下会看到bugreport-xxx.zip
,将这个压缩包解压 - 3、查看日志内容
解压完成后,在解压出来的文件夹中找到mtdoops.md
文件,打开,搜索healthd
这时会看到很多个搜索结果,一般第一个结果为最新的
在搜索结果的那一行中v
的值即为电池的真实容量
将这个值除以电池原容量即可得到电池健康度百分比1
健康度百分比=真实容量/原容量x100%
解决 Termux 无法运行 Jupyter
安装 Jupyter
1 |
|
启动时显示以下报错:
1 |
|
输入下面的命令解决
1 |
|
linux
linux快捷键
进入tty界面:Ctrl+Alt+F2/F3/…F6
退出tty界面:Ctrl+Alt+F7
勾选复选框:空格
命令行中终止程序:Ctrl+C
命令行中翻页:shift+pageup/pagedown
或pageup/pagedown
tty终端快捷键
停止屏幕输出Ctrl+S
恢复屏幕输出Ctrl+Q
中断程序Ctrl+C
退出终端(相当于输入exit
)Ctrl+D
在提示字符下将整列命令删除Ctrl+U
暂停目前命令Ctrl+Z
命令补全/文件补齐/参数补齐Tab
重新启动xorg
Ctrl+Alt+backspace
debian系linux发行版
更新软件包缓存:
1 |
|
更新软件:
1 |
|
安装软件:
1 |
|
编译deb安装包
需安装
debhelper
cmake
make
1 |
|
linux mint解决中文不全
此方法适用于基于ubuntu系发行版
1 |
|
linux mint安装多媒体解码器
1 |
|
安装vmtools
1 |
|
安装桌面
1 |
|
安装 C / C++ 编译环境
1 |
|
linux命令
关闭某个窗口:
1 |
|
(此时鼠标变为X,点击某个窗口即可关闭)
列出硬盘与分区:
1 |
|
启动硬盘分区编辑:
1 |
|
格式分区为指定文件系统
ext3
可以替换成fat32
,ntfs
,ext4
等
1 |
|
修复ntfs分区不能写入文件
sda3为分区
1 |
|
关闭软件
会关闭带有该关键词的进程
1 |
|
qemu-kvm启用nat网络模块
1 |
|
在tty终端中启动xorg
1 |
|
终端在后台运行命令
1 |
|
桌面卡死解决方法
1 |
|
lightdm为桌面管理器,可替换为sddm或gdm
安装grub2
sda为硬盘,可更换为sda1或其他硬盘分区
1 |
|
刷新图标缓存
1 |
|
测试硬盘性能
1 |
|
挂载硬盘
1 |
|
更改终端显示语言
显示目前所支持语系:
1 |
|
修改语系:
1 |
|
LANG与输出信息有关,若要更改其他不同的信息,要同步更新LC_ALL
bash环境配置文件
全局:
1 |
|
用户:
1 |
|
安装docker后进行apt upgrade时出现pending kernel upgrade选项的解决方法
安装docker
时会自动安装needrestart
,卸载needrestart
后解决
linux查询命令用法
1 |
|
archlinux安装教程
https://zhuanlan.zhihu.com/p/138951848
https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97
在vmware安装与优化archlinux教程
linux安装和配置kvm-qemu教程
https://blog.csdn.net/weixin_35379749/article/details/116632599
https://blog.csdn.net/allway2/article/details/122160151
https://cloud.tencent.com/developer/article/2067416
https://blog.csdn.net/dwj1979/article/details/85232191
https://www.bilibili.com/read/cv12760387
https://zhuanlan.zhihu.com/p/428845384
https://liucreator.gitlab.io/zh/posts/0x0b-single-gpu-passthrough/main/
virtual box虚拟机自动进入uefi sheill的解决方法
同样也适用于qemu/kvm
https://www.bilibili.com/read/cv15426771
cinnamon主题修改教程
https://forums.linuxmint.com/viewtopic.php?f=211&t=155400
https://forums.linuxmint.com/viewtopic.php?t=156948
cmake命令教程
https://blog.csdn.net/yulesyu/article/details/122200780
make命令教程
https://www.cnblogs.com/nosadness/p/5136652.html
checkinstall命令教程
https://wiki.debian.org/CheckInstall
debian系安装fcitx5输入法
1 |
|
重启后一般自动生效,如果没有生效,手动进行配置
1 |
|
如果需要使用输入法皮肤,可使用ssfconv将搜狗输入法的皮肤进行转换,将转换好的文件放入~/.local/share/fcitx5/themes
目录中
wine安装和配置
在debian系的linux发行版可以参考以下连接安装winehq
https://mirrors.tuna.tsinghua.edu.cn/help/wine-builds/
wine安装字体
1:先从Windows系统中把微软雅黑
字体提取出来(在系统分区的Windows/Fonts
目录下),搜索msyh
关键字能找到3个文件,分别是msyh.ttc
,msyhbd.ttc
,msyhl.ttc
,其实也就是常规字体、粗体和细体,把它们(只复制第一个也可以)复制到Ubuntu系统用户主目录的~/.wine/drive_c/windows/Fonts
目录下面,.wine
是隐藏文件夹,在主目录文件夹里按Ctrl+H
即可显示。
2:然后随便找个地方新建一个空文本,取名为msyh_font.reg
(后缀是reg
即可,文件名随便取的),终端命令操作:
1 |
|
再把下面内容复制进去(注意,如果你只复制了常规字体,下面应该全部填msyh.ttc
):
1 |
|
保存好之后,终端执行命令才能生效:
1 |
|
3:进入wine目录,编辑system.reg
配置文件:
1 |
|
查找关键词FontSubstitutes
,把它下面挨着的“MS Shell Dlg”=”SimSun”
改为“MS Shell Dlg”=“msyh”
改完记得保存。
4:终端执行命令打开wine配置管理:
1 |
|
选中默认设置,再把系统改成Windows 10
或者Win 7
,这个随意,只要不是XP什么的就行,因为老系统上没有雅黑这个字体,所以会看不到效果。
最好是重启下系统或者注销一下,搞定!既能解决乱码问题,又美观。
wine手动安装wine-gecko和wine-momo
wine在初次安装并在终端输入winecfg
后,会自动下载安装wine-mono
和wine-gecko
两个插件
但是自动下载会很慢,而且还不一定能下载成功,因此最好选择手动下载
1、在下面找到并下载最新版的wine-gecko
和wine-momo
安装包(32位和64位都要下载),格式为msi
https://mirrors.tuna.tsinghua.edu.cn/winehq/wine/wine-gecko/
https://mirrors.tuna.tsinghua.edu.cn/winehq/wine/wine-mono/
2、在当前目录打开终端,输入以下指令安装
1 |
|
(xxxx.msi
指刚刚下载好的安装包)
3、验证是否安装成功
运行winetricks
(需要手动安装,一般在主流的Linux发行版的仓库中有安装包)
进入winetricks后,依次选择:选择默认的wine容器
→运行卸载程序
,
在弹出的界面中,如果发现了wine-mono和wine-gecko的相关软件,则说明安装成功了
安装deepin wine环境与应用在debian和ubuntu上的移植仓库
使用deepin官方原版软件包
1.添加仓库
首次使用时,你需要运行如下一条命令将移植仓库添加到系统中。
1 |
|
2.应用安装
自此以后,你可以像对待普通的软件包一样,使用apt-get系列命令进行各种应用安装、更新和卸载清理了。
比如安装微信只需要运行下面的命令,
1 |
|
将com.qq.weixin.deepin
替换为下列包名,可以继续安装其他应用:
应用 | 包名 |
---|---|
微信 | com.qq.weixin.deepin |
com.qq.im.deepin | |
TIM | com.qq.office.deepin |
钉钉 | com.dingtalk.deepin |
阿里旺旺 | com.taobao.wangwang.deepin |
QQ音乐 | com.qq.music.deepin |
QQ视频 | com.qq.video.deepin |
爱奇艺 | com.iqiyi.deepin |
完整列表参见https://deepin-wine.i-m.dev。
linux更改grub主题
这里以deepin主题演示
1、创建主题文件夹
在/boot/grub
里创建主题目录themes
1 |
|
2、解压
解压下载的主题压缩包,得到deepin
文件夹
3、复制
将deepin
文件夹复制到/boot/grub/themes
文件夹下
1 |
|
4、修改配置文件
修改/etc/default/grub
,将主题添加到配置文件中
1 |
|
添加这一行
1 |
|
注意哦,这个引号是英文的
5、更新 grub
1 |
|
主题文件夹中包含:
icons
:多种系统的图标background.jpg
:背景图theme.txt
:grub 主题样式文件
其他图片:零散的图片为启动背景需要
ubuntu下切换桌面管理器
以切换到GDM
为例,打开终端,使用命令:
1 |
|
然后选择GDM
,按下Enter选择即可。然后重启计算机生效。同样,可以用其他DM如KDM
,SLim
,LightDM
来替换上述命令中的gdm来进行DM间切换
linux在tty界面中文乱码解决方案
centos解决tty界面中文乱码
1.安装fbterm
2.安装中文字体
3.配置fbterm
一、安装FbTerm:
fbterm源码
1.首先安装编译fbterm依赖包
1 |
|
2.下载fbterm压缩包
1 |
|
3.将fbterm源代码解压缩至/usr/local/src
目录下
1 |
|
4.不解释
1 |
|
5.建立MakeFile
1 |
|
6.编译安装
1 |
|
7.进入fbterm终端
1 |
|
至此,如果不出意外,你的fbterm已经可以支持中文显示了,但由于fbterm的默认字体mono显示不怎么好看,于是决定换一下字体
二、安装字体
1.将自己喜欢的字体文件放到Linux字体目录/usr/share/fonts
下,博主在fonts
目录下又创建一个目录truetype
,通过U盘拷贝将自己喜欢的字体放在这个目录。具体操作过程如下:
1 |
|
2.更改字体文件权限
1 |
|
3.注册字体
1 |
|
4.查看系统已有字体
1 |
|
能找到Microsoft YaHei哦,说明字体安装成功了
说明:看到有的文章说要先创建字体的连接文件之后再注册字体,经博主亲测,连接文件完全没有必要,直接复制进去就可以注册字体使用了。
ubuntu解决tty界面中文乱码
下载命令:
1 |
|
会自动下载完成,下载完成后运行
1 |
|
更改字体和字体大小
1 |
|
修改成以下内容
1 |
|
把./fbterm
复制一份到/home/username/
目录下,username
为你的用户名
更改权限
1 |
|
使其不在ROOT模式下也可以显示Ctrl+Alt+E
退出再重新登录输入命令fbterm
,即可正常显示
linux mint cinnamon推荐装的任务栏插件
Network Data Usage Monitor
Simple CPU Monitor
Download and upload speed
gnome桌面推荐插件
dash to panel
network stats
openweather
removable drive menu
simple system monitor
topicons plus
安装gnome桌面插件管理
1 |
|
linux安装v2ray
安装和更新 V2Ray
1 |
|
如果为Debian系的版本可以从仓库中安装
1 |
|
安装最新发行的geoip.dat
和geosite.dat
1 |
|
移除 V2Ray
1 |
|
启动v2ray
1 |
|
linux安装v2raya
添加公钥
1 |
|
添加 V2RayA 软件源
1 |
|
安装 V2RayA
1 |
|
启动v2rayA
1 |
|
停止v2rayA
1 |
|
linux主题路径
主题:~/.themes/
或/usr/share/themes/
鼠标指针:~/.icons
或/usr/share/icons/
linux启用sysrq
编辑/etc/sysctl.conf
1 |
|
将kernel.sysrq设置为1
1 |
|
如果要禁用则设置为0
linux卡死后使用sysrq安全重启方法
左手一直长按ctrl+alt键
,右手先按Print Screen SysRq
这个键后松开后,右手依次r
,e
,i
,s
,u
,b
这几个键,每次间隔1秒,会发现桌面依次发生变化,最后重启关机;
这几个键的含义如下:
键就是PrintScreen
(屏幕截图)按键重合,直接系统请求
这个时候r
,e
,i
,s
,u
,b
中的每一个字母都是一个独立操作,分别表示:
r : unRaw 将键盘控制从 X Server 那里抢回来
e : tErminate 给所有进程发送 SIGTERM 信号,让它们自己解决善后
i : kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭
s : Sync 将所有数据同步至磁盘
u : Unmount 将所有分区挂载为只读模式
b : reBoot 重启
cinnamon切换虚拟桌面
切换桌面Ctrl+Alt+方向左右键
虚拟桌面管理Ctrl+Alt+方向上键
在当前桌面切换应用Ctrl+Alt+方向下键
快捷将当前选中窗口移动到其他虚拟桌面 鼠标左键按住窗口+Ctrl+Alt+方向左右键
linux设置开机自动登录
lightdm:
修改/etc/lightdm/lightdm.conf
找到#autologin-user=
这一行
1 |
|
将前面的#
去掉,等号后加用户名
1 |
|
这样lightdm配置完毕,重启后生效
gdm:
修改/etc/gdm/custom.conf
1 |
|
gdm配置完毕,重启后生效
linux创建软链接
1 |
|
例:
1 |
|
此时会在/home/用户名/下载/
生成test
快捷方式,并链接到真实路径/home/用户名/下载/文件/test
linux mint使用samba共享
方法基于samba,nemo,nemo-share,cinnamon-settings-users
1、安装samba
1 |
|
2、编辑samba配置文件,添加参数
1 |
|
添加以下参数
1 |
|
如果需要给 home 目录读写权限,需要将 read only 修改为 no
1 |
|
参考:https://forums.linuxmint.com/viewtopic.php?t=77063
3、设置账户samba密码
1 |
|
重复输入两次密码,完成
4、添加用户到sambashare组
启动cinnamon-settings-users
1 |
|
找到当前的用户,点击组,在弹出的选项中找到sambashare
,勾选并确定
5、打开nemo文件管理器,右键将要共享的文件夹,,选择共享选项
,启用共享此文件夹
,此时文件共享成功
在Windows文件管理器中输入\\ip
即可访问
在原基础上添加新的用户进行访问
1、添加新的Linux系统用户:
1 |
|
2、设置新用户名密码:
1 |
|
3、设置新samba用户密码:
1 |
|
4、重启后生效
注:此方法可以通过配置好samba基本设置后理由nemo-share快速分享
但无法令每个用户单独访问各自文件夹
所以有局限性
想实现完整功能需使用纯samba配置法
linux用户和用户组
命令;groupadd
添加用户组useradd
增加一个新用户或者更新默认新用户信息usermod
更改用户帐户属性
说明;
在 Linux 用户系统中存在两类组。
第一类是主要用户组
(主组),第二类是附加用户组
(附属组)。
主组:也被称为primary group、first group或initial login group,用户的默认组,用户的gid所标识的组。
附属组:也被称为Secondary group或supplementary group,用户的附加组。
存储文件:
用户帐户及相关信息都存储在/etc/passwd
文件中,
用户组信息存储在/etc/shadow
和/etc/group
文件。
通过id命令查看用户的主组和附属组:
1 |
|
gid
标识主组,groups
表示用户所属的全部组(主组和附属组)
用户必须有且只能有一个主组,可以有0个、1个或多个附属组
新增一个用户并添加到指定用户组:
检查用户组是否存在
如果组存在则会输出组信息,否则没有任何输出
1 |
|
如果用户组不存在则使用如下命令新建用户组
1 |
|
新建用户并将其加入指定用户组并作为其主用户组
每个用户有且只有一个主用户组
1 |
|
或者新建用户
将其加入指定附属用户组,附属用户组可以有多个,多个附属组名称用逗号分隔即可
1 |
|
设置用户密码
1 |
|
查看用户属性并检查是否添加到正确的用户组
1 |
|
常用添加用户命令(添加用户并添加到主组):
1 |
|
将已有用户添加到指定用户组并作为其附属用户组
-a
代表append
,和-G
一起使用,将用户添加到新用户组中而不必来开原有的其他用户组
1 |
|
将已有用户的主用户组改为新的用户组
1 |
|
添加用户,并指定家目录、所在组、登录shell等信息:
-m 自动建立用户家目录
-g 指定用户所在的组
-s 指定用户登录的shell
1 |
|
将用户从该用户的附属组中删除
1 |
|
删除用户:
永久性删除用户账号
1 |
|
linux使用gdebi安装deb包
安装gdebi
1 |
|
用法:
1 |
|
gdebi会自动寻找软件依赖并安装
启动gdebi图形界面可运行gdebi-gtk
linux设置文件默认打开程序
1 |
|
例:
1 |
|
blender.desktop为/usr/share/applications的图标文件
MIME类型类型可以用file --mime-type
命令查看
linux手动关联文件扩展名和打开程序
当Linux不认识某种扩展名
的时候,需要为此扩展名
创建一个MIME类型
。
Linux是依据MIME类型
而不是扩展名
来决定打开程序的,
再将此种MIME类型与某程序菜单项关联
1、为扩展名建造一个MIME类型:
如果你的Linux已经认得这种扩展名,不需要做这一步。在你的文件管理器中,看看这种扩展名的文件有没有被正确识别。或使用file命令查看。
创建 application-x-扩展名.xml 内容:
1 |
|
放application-x-扩展名.xml
到~/.local/share/mime/packages/
刷新系统MIME数据库
1 |
|
2、为程序建造一个菜单项:
如果此程序已经有菜单项,略过这一步。
创建程序.desktop , 内容:
1 |
|
其关键在于Exec=
行中的%f
将文件路径传递给执行程序。Exec=
也可以没有绝对路径直接使用命令,Icon=
也可以不用路径而直接写系统认可的图标名称。
放程序.desktop
文件到~/.local/share/applications/
3、设置用某程序打开MIME类型文件:
修改~/.config/mimeapps.list
或~/.local/share/applications/mimeapps.list
(废弃)
1 |
|
其中application/x-扩展名
是你刚刚所创建的MIME类型
。如果MIME类型
是原有的不是刚刚创建的,替换为原有的MIME类型
名称。
linux关联文件扩展名的打开程序
根据 MIME 类型关联
1、查看文件 MIME 类型:
1 |
|
2、查询打开某类文件的默认程序:
1 |
|
3、设置打开某类文件的默认程序:
1 |
|
将linux程序打包成deb格式的安装包
1、创建一个文件夹:
1 |
|
2、在新建的文件夹中创建标准的目录结构:
1 |
|
在linux中, “ . “可表示为当前目录
DEBIAN文件夹包含了安装包的信息和安装、卸载时的脚本文件
“/opt/app/“存放可执行文件
“/usr/share/applications”存放应用菜单的启动图标
该文件夹中的”opt”,”usr”对应Linux根目录的”opt”,”usr”
3、将可执行文件放入./opt/app
文件夹
4、在./usr/share/applications
创建应用图标:
1 |
|
填入以下内容:
1 |
|
5、在DEBIAN文件夹新建control
,postinst
,postrm
文件:
control填入以下内容:
1 |
|
postinst填入以下内容:
1 |
|
postrm填入以下内容:
1 |
|
6、打包文件;
1 |
|
linux修复分区
查询需要修复的磁盘盘符
1 |
|
进行修复
1 |
|
debian系linux发行版解决依赖问题
当使用apt安装某个软件包时出现
”无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系“
这是因为这些依赖的软件包,系统已经安装过而且是更高的版本,而需要的是较低版本,所以会报错。
解决办法,使用 aptitude 代替 apt
1 |
|
首先建议 保持这些软件包的版本
,选择n
然后建议 降级软件包
,选择y
解决linux提示 输入密码以解锁您的登录密钥环 问题
打开terminal,输入
1 |
|
若提示没安装则输入
1 |
|
点击左上角➕号,新建一个钥匙环
密码为空
建立完成后设置为默认
再打开opera或者chrome将不会有【输入密码以解锁您的登录密钥环】这个提示
debian一些常用指令使用时显示 未找到命令 解决方法
该问题原为其实造成这个问题的原因是没有把/sbin
的目录路径(系统用户目录)添加到PATH
变量中
1、临时解决方法:
使用su -
命令重新切换到root
根据官方man命令的说法,加上后面这个符号相当于使用root账户登录,会初始化对应的环境变量,
也就是加载上/usr/sbin/目录。
2、将/sbin
添加到环境变量中:
查看当前PATH
:
1 |
|
如果没有/sbin
可以使用以下命令
1 |
|
临时把对应路劲加到PATH
变量中,测试一下是否可用。
但是这只是临时添加,断开ssh重连就失效了,需要永久添加需要编辑.bashrc
文件(每个用户都有.bashrc
文件,想要每个用户都能正常使用,需要去编辑每个用户的.bashrc
文件)
切换到用户目录:
1 |
|
编辑文件:
1 |
|
在最后一行添加
1 |
|
保存后,执行一下
1 |
|
然后在重新查看一下PATH
变量
1 |
|
可以看到,多了个/usr/sbin
现在就可以正常的使用reboot、service等命令
linux使用sudo显示 用户不在sudoers文件中此事将被报告 解决方法
1、第一种解决方法:
(1)进入root模式,su
,再输入正确密码
(2)通过vim打开sudoers并编辑
可以使用
visudo
来编辑/etc/sudoers文件,并且这个方法带有语法错误检查,更安全
1 |
|
找到root ALL=(ALL) ALL
,在下方添加自己的账户并:wq!
进行强制保存退出
如:
1 |
|
2、另一种解决方法:
(1)进入root模式,su
,再输入正确密码
(2)将用户添加到sudo
组中
1 |
|
若没有sudo命令,则进入root模式,安装sudo
apt install sudo
(不同Linux发行版的安装命令可能不同,视具体情况而定)
debian中设置locale的方法
locale的命名规则为<语言>_<地区>.<字符集编码>
,如zh_CN.UTF-8
,zh
代表中文,CN
代表大陆地区,UTF-8
表示字符集。
在locale环境中,有一组变量,代表国际化环境中的不同设置:
1.LC_COLLATE
定义该环境的排序和比较规则
2.LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
3.LC_MONETARY
货币格式
4.LC_NUMERIC
非货币的数字显示格式
5.LC_TIME
时间和日期格式
6.LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”。
7.LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
8.LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。
一个例子:
设置前,使用默认locale:
1 |
|
“C”是系统默认的locale,”POSIX”是”C”的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
设置zh_CN.GBK:
1 |
|
再次查看:
1 |
|
在debian中安装locales的方法如下
通过apt-get install locales
命令安装locales
包
安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。
最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。
增加新的locale也很简单,用dpkg-reconfigure locales重新配置locale即可。
我们也可手动增加locale,只要把新的locale增加到/etc/locale.gen
文件中,
再运行locale-gen命令即可生成新的locale。再通过设置上面介绍的LC_*变量就可设置系统的locale了。
下是一个locale.gen文件的样例:
1 |
|
linux安装中文版man
英文不好?没关系,往下看!!!
原官方下载地址http://code.google.com/p/manpages-zh/
Githu项目地址https://github.com/man-pages-zh/manpages-zh
安装方法一
1、Debian / Ubuntu安装
1 |
|
2、Arch Linux:
1 |
|
3、Red Hat / CentOS:
1 |
|
4、Fedora:
1 |
|
安装方法二
1、获取安装包
1 |
|
2、解压并安装(最好使用root)
1 |
|
3、 为了不覆盖man,我们新建cman命令作为中文查询
1 |
|
4.使用我们新建的中文cman查询命令
1 |
|
centos7中使用efibootmgr管理uefi启动项
UEFI
是一种固件接口,在现代机器上已经取代了传统的BIOS。 UEFI固件的一个特性是能够在持久可编辑的NVRAM
(Non - Volatile RAM,非易失性内存)中保存启动项。 在UEFI模式下安装Linux操作系统时,通常会将相关的引导项写入NVRAM
,在某些情况下,我们可能希望执行手动操作,例如修改启动顺序、创建新的引导或删除旧的启动项。
安装:
CentOS7 默认以UEFI
模式安装,会自带efibootmgr
工具,如没有带可以使用下面命令安装:
1 |
|
列出 uefi 启动项条目
在使用UEFI固件的系统上,UEFI启动项存储在NVRAM中。 要使用 efibootmgr列出现有的启动项,如果需要列出条目就是不带任何选项或参数地调用efibootmgr。 下面就是输出条目的命令:
1 |
|
其中有一些是之前安装系统保存下来的启动项,可以删除。
在上面的输出中,我们可以注意到与引导变量对应的一系列信息。 首先,我们可以看到BootCurrent:
这个键的值为0007
,表示当前启动的项目为0007
号CentOS Linux
。
在输出中发现的第二个条目是Timeout:
表示在启动菜单中自动选择条目之后的时间,在本例中是1
秒。 接下来是BootOrder:
这个键的值是由逗号分隔的条目编号,并显示相关条目在EFI引导菜单中显示的顺序。
efibootmgr
命令还显示了可用引导条目的列表。 每个条目显示其编号和名称。 在列表中,激活的条目它们被标记为*
符号。
获取条目的详细信息
可以添加 -v 或者–verbose 选项
1 |
|
更改 uefi 启动项顺序
我们可以使用efibootmgr来更改当前的引导顺序。 使用-o
或者--bootorder
选项,后添加想要排列的顺序。当前本机的引导顺序如下:
1 |
|
可以看到,首先启动000A Linux
,最后一个条目是0005 USB Storage
设备。 假设我们想要交换这些条目,让0003 Network
成为第一个条目。 我们所要做的就是运行以下命令:
1 |
|
可以看到顺序已经变了。网卡启动变为第一项了。
创建一条引导
可以使用 efibootmgr
在 UEFI 引导管理器中创建新条目。 要创建引导项,我们必须知道EFI系统分区的位置和要引导的EFI映像的路径。
创建新条目时必须使用的选项是-c
或者--create
。 假设EFI分区在/dev/sda
磁盘的第一个分区,efi镜像的引导路径是EFI/centos/grubx64.efi
,名称为centos7.9
,我们将运行以下命令:
1 |
|
使用-c
选项创建一个新条目。-d
或--disk
来指定EFI系统分区所在的磁盘,使用-p
或--part
来指定该磁盘上的哪个分区是EFI分区(按照标准,EFI分区应该总是第一个,分区格式为FAT32)。
使用-L
或--label
来提供菜单中条目的名称,最后使用-l
或--loader
来传递要引导镜像的路径。 需要注意的是,路径应该以单引号形式提供。 创建的引导条目将自动放在引导顺序列表的顶部。
删除一条引导
我们可以使用 efibootmgr 删除现有的引导项。 我们可以删除一个不存在的系统引导条目。 我们使用-b
或者--bootnum
传递索引作为参数来选择我们想要删除的引导条目,然后使用-B
或者--delete-bootnum
来删除它。
例如,要删除索引为0008
, 我们将运行以下命令:
1 |
|
Tips:在传递引导条目序号时,我们可以不填充前面的0。
激活、取消激活引导条目:
取消激活条目
如果不想显示某一个启动项可以使用 -A 或者 –inactive
1 |
|
可以看到 Boot000A Linux这一条前面的*消失了,这就代表不显示该条目了。
激活该条目
如果想显示某一个启动项可以使用 -a 或者 –active
1 |
|
可以看到 Boot000A Linux
这一条前面的又回来了。
修改 uefi 引导管理器超时时间
我们可以设置超时间隔,使用-t
或者-timeout
选项来设置,在此之后自动选择EFI引导管理器中的默认条目。我们可以设置时间长一点:
1 |
|
总结:
支持UEFI固件的机器将引导项存储在称为NVRAM的非易失性RAM中。 当我们安装Linu操作系统时,EFI引导管理器菜单中会自动添加一个对应的条目。
debian安装docker
使用 APT 安装
由于 apt 源使用 HTTPS
以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS
传输的软件包以及 CA
证书。
1 |
|
鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。
使用国内源
1 |
|
使用官方源
1 |
|
然后,我们需要向sources.list
中添加Docker软件源:
在一些基于 Debian 的 Linux 发行版中$(lsb_release -cs)
可能不会返回Debian的版本代号,例如Kail Linux
,BunsenLabs Linux
。
在这些发行版中我们需要将下面命令中的$(lsb_release -cs)
替换为https://mirrors.aliyun.com/docker-ce/linux/debian/dists/
中支持的Debian版本代号,例如buster
。
使用国内源
1 |
|
使用官方源
1 |
|
以上命令会添加稳定版本的Docker APT
源,如果需要测试版本的Docker请将stable
改为test
。
安装 Docker:
更新 apt 软件包缓存,并安装 docker-ce。
1 |
|
也可以使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Debian 系统上可以使用这套脚本安装,另外可以通过--mirror
选项使用国内源进行安装:
1 |
|
或者
1 |
|
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable)
版本安装在系统中。
#启动 Docker
1 |
|
配置镜像加速
请首先执行以下命令,查看是否在docker.service
文件中配置过镜像地址。
1 |
|
如果该命令有输出,那么请执行sudo systemctl cat docker
查看ExecStart=
出现的位置,修改对应的文件内容去掉--registry-mirror
参数及其值,并按接下来的步骤进行配置。
如果以上命令没有任何输出,那么就可以在/etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件):
1 |
|
之后重新启动服务。
1 |
|
窗口管理器安装和配置
1、所需软件:sway
(窗口管理器)waybar
(顶栏)rofi
(搜索框)clip
(共享剪贴板)fonts-font-awesome
(特殊符号)
2、安装(以Debian为例):
1 |
|
3、配置;
(1)配置sway:
创建配置文件
1 |
|
编辑配置文件
1 |
|
待会要把swaybar换成waybar,所以将swaybar的内容注释掉
内容如下:
1 |
|
在配置文件中添加以下内容;
1 |
|
(2)配置waybar:
创建~/.config/waybar
1 |
|
在里面创建config
和style.css
config内容如下:
1 |
|
style.css内容如下:
1 |
|
(3)配置rofi-power-menu :
创建rofi-power-menu
文件
1 |
|
填入以下内容:
1 |
|
给予权限
1 |
|
在sway配置文件中添加快捷键
1 |
|
(4)配置主题:
参考:https://wiki.archlinuxcn.org/wiki/GTK
配置鼠标指针:
1 |
|
配置主题:
1 |
|
配置图标:
1 |
|
(5)配置sway默认终端foot:
1 |
|
修改字体大小:
1 |
|
常用快捷键:
(sway基于i3wm,可做参考:https://i3wm.org/docs/userguide.html)
mod+shift+w 启动应用列表
mod+shift+q 关闭程序
mod+左键 拖动窗口
mod+右键 调整窗口大小
mod+shift+f4 电源菜单
mod+shift+u mint更新管理器
mod+方向键 选择聚焦窗口
mod+shift+方向键 移动已聚焦窗口
mod+h+打开窗口 水平切分
mod+v+打开窗口 竖直切分
mod+f 全屏
mod+s+打开窗口 水平堆叠切分
mod+d+打开窗口 竖直堆叠切分
mod+e+打开窗口 传统切分
mod+shift+e 注销sway
mod+shift+数字键 将当前聚焦的窗口移到指定工作区
mod+shift+e 重载sway
mod+数字键 切到指定工作区
python设置pip镜像源
设置主要镜像源:
1 |
|
取消设置:
1 |
|
设置额外镜像源:
1 |
|
取消设置:
1 |
|
主要镜像源:
https://pypi.tuna.tsinghua.edu.cn/simple
https://pypi.mirrors.ustc.edu.cn/simple
http://pypi.douban.com/simple
http://mirrors.aliyun.com/pypi/simple
https://mirror.sjtu.edu.cn/pypi/web/simple
额外镜像源:
https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html
flatpak设置镜像源
设置国内镜像源:
1 |
|
设置官方镜像源:
1 |
|
在debian启用ssh
1、安装ssh
1 |
|
2、启用ssh服务
1 |
|
可以输入下面的指令查看ssh运行的状态
1 |
|
3、备份ssh配置文件
1 |
|
4、编辑ssh配置文件
1 |
|
利用命令more /etc/ssh/sshd_config |grep -v "^#" |grep -v "^$"
查看文件内容是否与下面一致,不一致则改成一致。
1 |
|
5、重启ssh服务
1 |
|
然后可以利用远程登录软件(SecureCRT SSH)进行相关登录。
linux清理cache缓存
查看缓存:
1 |
|
释放缓存区内存的方法:
1、清理pagecache(页面缓存)
1 |
|
或者
1 |
|
2、清理dentries(目录缓存)和inodes
1 |
|
或者
1 |
|
3、清理pagecache、dentries和inodes
1 |
|
或者
1 |
|
上面三种方式都是临时释放缓存的方法,要想永久释放缓存,需要在
/etc/sysctl.conf
文件中配置:vm.drop_caches=1/2/3
,然后sysctl -p
生效即可
tmux使用和美化
tmux默认快捷键
Prefix 键:Ctrl + b
(当按下Prefix 键
并松开后才可以使用 tmux 的快捷键,Prefix 键
相当于快捷键激活键,防止误触)
创建新窗口:c
向左切换窗口:p
向右切换窗口:n
切换指定窗口:0 ~ 9
关闭窗口:&
划分左右的小窗口(Pane):%
划分上下的小窗口(Pane):"
切换小窗口(Pane):方向键
切换指定小窗口(Pane):q + 数字
(在按下q
时,tmux 会显示一个小窗口对应的数字)
最大化或最小化选中的小窗口:z
关闭选中的小窗口:x
(当一个大窗口里的最后一个小窗口被关闭时,大窗口也会被关闭)
查看 tmux 所有窗口:w
(用方向键
和回车键
可以选择进入指定的大窗口)
退出当前 tmux 工作区(会话):d
(此时 tmux 的工作区会被保留下来,保持运行)
进入命令行模式::
(类似 vim 进入命令行模式的方法,只不过 tmux 要先按Prefix 键
)
进入翻页模式:[
(退出翻页模式直接按q
,未进入翻页模式前无法使用滚轮或者键盘上的方向键进行翻页查看)
快捷键使用为:Prefix 键 + 其他按键
如创建新窗口为:Prefix 键 + c
实际操作为先按下 Prefix 键(Ctrl + b),然后松开 Prefix 键,再按下 c 键
查看工作区列表:
1 |
|
进入 tmux 工作区:
1 |
|
如果有多个工作区的话,该指令会优先进入最后一个退出的工作区
或进入指定的工作区:
1 |
|
创建新的工作区:
1 |
|
关闭工作区:
1 |
|
美化 tmux
工具:
https://github.com/gpakosz/.tmux
安装oh-my-tmux
:
1、下载项目
1 |
|
2、复制配置文件
1 |
|
这里复制的是默认的配置
或者使用自定义配置:
1 |
|
然后参考github上项目的的说明修改
vim使用
1、编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下i
, I
, o
, O
, a
, A
, r
, R
等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现INSERT
或REPLACE
的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下Esc
即可退出编辑模式。
2、命令行模式:
输入:
/
?
三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找
、读取
、存盘
、替换字符
、离开vi
、显示行号
等的动作则是在此模式中完成的!
3、打开文件
1 |
|
vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
一般模式可用的按钮说明
4、移动光标h
、j
、k
、l
,分别控制光标左
、下
、上
、右
移一格
翻屏Ctrl+f
: 向下翻一屏Ctrl+b
: 向上翻一屏Ctrl+d
: 向下翻半屏Ctrl+u
: 向上翻半屏
n<space>
光标向右移动n个字符Home
移动到这一行的最前面字符处:0数字,但不能用数字小键盘上的数字End
移动到这一行的最后面字符处:$,我测试好像不行w
光标跳到下个字的开头e
光标跳到下个字的字尾
H
光标移动到这个屏幕的最上方那一行的第一个字符M
光标移动到这个屏幕的中间那一行的第一个字符L
光标移动到这个屏幕的最下方那一行的第一个字符
G
移动到这个文件的最后一行nG
移动到这个文件的第n行(可配合:set nu)gg
移动到这个文件的第一行,相当于1Gn<Enter>
光标向下移动n行
5、查找与替换/word
向光标向下寻找一个名称为word的字符串?word
向光标向上寻找一个名称为word的字符串n
代表重复前一个查找的动作N
与n刚好相反,为反向
进行行前一个查找动作
:n1,n2s/word1/word2/g
n1与n2为数字,在第n1与n2行之间查找word1 这个字符串,并将该字符串替换为word2
:1,$s/word1/word2/g
从第一行到最后一行查找word1字符串,并将该字符串替换为word2:1,$s/word1/word2/gc
从第一行到最后一行查找word1字符串,并将该字符串替换为word2 ,且在替换前提示用户确认是否进行替换
6、删除、复制与粘贴
x
为向后删除一个字符 (相当于del
键)X
为向前删除一个字符(相当于backspace
键)nx
连续向后删除n个字符
dd
删除光标所在行dn
删除光标所在的向下n行d1G
删除光标所在行到第一行的所有数据dG
删除光标所在到最后一行的所有数据
d$
删除光标所在处,到该行的最后一个字符d0
删除光标所在处,到该行的最前一个字符
yy
复制光标所在的那一行nyy
复制光标所在的向下n列
y1G
复制光标所在行到第一行的所有数据yG
复制光标所在行到最后一行的所有数据
y0
复制光标所在的那个字符到该行行首的所有数据y$
复制光标所在的那个字符到该行行尾的所有数据
p
将已复制的数据在光标下一行粘贴上P
则为贴在光标的上一行
u
恢复前一个操作Ctrl+r
重做上一个操作
.
是重复前一个操作
7、一般模式切换到编辑模式的可用的按钮说明i, I
进入编辑模式:
i 为从目前光标所在处插入
I 为在目前所在行的第一个非空格符处开始插入
a, A
进入编辑模式(Insert mode):
a 为从目前光标所在的下一个字符处开始插入
A 为从光标所在行的最后一个字符处开始插入
o, O
进入编辑模式:
o 为在目前光标所在的下一行处插入新的一行
O 为在目前光标所在处的上一行插入新的一行
r, R
进入取代模式:
r 只会取代光标所在的那一个字符一次
R会一直取代光标所在的文字,直到按下 ESC 为止;
Esc
退出编辑模式,回到一般模式
8、一般模式切换到命令行模式可用的按钮说明:w
保存编辑的内容:w!
强制写入该文件,但跟你对该文件的权限有关:q
离开vi:q!
不想保存修改强制离开:wq
保存后离开:x
保存后离开ZZ
若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
:w filename
将编辑的数据保存成另一个文件(类似另存):r filename
在编辑的数据中,读入另一个文件的数据。即将filename
这个文件的内容加到光标所在行后面。
:n1,n2 w filename
将n1到n2的内容保存成filename这个文件。:! command
暂时离开vi 到命令行模式下执行command的显示结果!例如 :! ls /home
即可在 vi 当中察看/home底下以ls输出的文件信息!
:set nu
显示行号:set nonu
与 set nu 相反,为取消行
9、vim的缓存文件、恢复与开启时的警告信息
我们知道一些常用的编辑软件,都有个恢复的功能,就是说当你的系统因为某些原因而导致类似当机的情况时,还可以利用这个恢复功能将之前未保存的数据找回来。我们的VIM也有这个功能。
当我们在使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个名为 .filename.swp的文件。如果你的系统因为某些原因断线了, 导致你编辑的文件还没有保存,这个时候 .filenam.swp 就能够发会救援的功能了。
我们来演示一下
在/jiaoben下面出现了一个.bincp.sh.swp文件,其实这个文件是bincp.sh文件没有保存,中断系统后出现的恢复文件,在下次编辑bincp.sh文件时,系统会自动提示是否从上次执行处继续执行,还是终止等,根据提示执行就可以,执行完成后,保存文档后记得把 .bincp.sh文件删除。删除命令:rm -f .bincp.sh,下次再执行bincp.sh时就不会出现提示。
问题一:可能有其他人或程序同时在编辑这个文件:
问题二:在前一个vim的环境中,可能因为某些不知名原因导致vim中断 (crashed):
右下角会出现六个命令项,其作用说明如下:
(O)pen Read-Only:打开此文件成为只读档, 可以用在你只是想要查阅该文件内容并不想要进行编辑行为时。一般来说,在上课时,如果你是登入到同学的计算机去看他的配置文件, 结果发现其实同学他自己也在编辑时,可以使用这个模式;
(E)dit anyway:还是用正常的方式打开你要编辑的那个文件, 并不会载入暂存盘的内容。如果说两个人都在编辑这个文件的话,很容易出现互相改变对方的文件等问题。
(R)ecover:就是加载暂存盘的内容,用在你要救回之前未保存的工作。 不过当你救回来并且储存离开vim后,还是要手动自行删除那个暂存档。
(D)elete it:你确定那个暂存档是无用的!那么开启文件前会先将这个暂存盘删除
(Q)uit:按下 q 就离开vim,不会进行任何动作回到命令提示字符。
(A)bort:忽略这个编辑行为,感觉上与 quit 非常类似!
10、vim的功能
其实,目前大部分的Linux发行版本都以vim取代了vi。为什么要用vim呢?因为vim具有颜色显示的功能,并且还支持许多的程序语法(syntax)和相应的提示信息。查看自己的VI是不是被VIM代替,可以用
alias这个命令来查看是不是有alias vi=’vim’这一行。
11、块选择v
字符选择,会将光标经过的地方反白选择V
行选择,会将光标经过的行反白选择Ctrl+v
块选择,可以用长方形的方式选择资料 (提制竖列)y
将反白的地方复制d
将反白的地方删除
12、分屏显示一个文件
Ctrl+w, s: 水平拆分窗口 (按住Ctrl+w后松开键盘,按键盘上的s键就可以水平拆分)
Ctrl+w, v: 垂直拆分窗口 (按住Ctrl+w后松开键盘,按键盘上的v键就可以垂直拆分)
按住Ctrl+w键按两次就可以切换光标的不同的窗口
如果需要突出窗口可以输入exit。
13、多文件编辑
大家在使用vim的时候,可能会碰到你需要复制一个文件中的某段到另外一个文件中,而vim不能够在关闭的时候,把这段保留住。或者是用其它的方法复制。vim file1 file2
:n
编辑下一个文件:N
编辑上一个文件:files
列出目前这个vim编辑的所有文件
多窗口功能
有两个需要对照着看的文件:sp filename
开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。
ctrl+w+j
ctrl+w+↓
按键的按法是:先按下 ctrl
不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下箭头键),则光标可移动到下方的窗口。
ctrl+w+k
ctrl+w+↑
同上,不过光标移动到上面的窗口。
vim 环境设定与记录(~/.vimrc, ~/.viminfo)
14、参数参考文档。
1 |
|
配置文件(保存退出vim后,在下次使用vim的时候,就会有自己的vim操作环境了。)
>/etc/vimrc(全局配置有效)
>~/.vimrc (当前bash)
>注意;上面的参数参考中每一行前面加不加`:`效果都是一样的。
15、如果想自己专研vim 可以执行命令: vimtutor
(此命令可以自己学习vim)
lunarvim配置存档
1 |
|
linux控制手机
前期准备:
使用Linux发行版自带的包管理器安装adb和scrcpy
工具官网:
https://github.com/Genymobile/scrcpy
https://developer.android.google.cn/studio/releases/platform-tools?hl=zh-cn
使用有线连接来连接手机
1、首先需要开启Android设备的开发者选项
和允许USB调试
。不同手机型号打开开发者选项的方式也不同,大致有两种方式可以打开开发者选项。
1)打开手机找到设置
–>找到系统
一栏(有些手机是更多设置
)–>选择打开开发者选项
和启用USB调试
,推荐启用“仅充电”模式下允许ADB调试
2)如果找不到开发者选项在哪,可以按照下面的方法找到开发者选项并打开:
打开手机找到设置
–>点击更多设置
–>点击进入关于手机
–>找到版本号
连续点击7次即可开启开发者模式
2、手机用usb线连接电脑,然后打开终端
3、检查是否连接成功
1 |
|
(手机会提示是否允许调试,点击确定)
说明连接成功
4、使用scrcpy进行连接
1 |
|
此时会弹出一个可以控制手机的窗口,可以通过鼠标和键盘控制手机
使用无线连接来连接手机
注:确保手机和电脑处在同一个局域网
中
1、首先需要开启Android设备的开发者选项
和允许USB调试
。不同手机型号打开开发者选项的方式也不同,大致有两种方式可以打开开发者选项。
1)打开手机找到设置
–>找到系统
一栏(有些手机是更多设置
)–>选择打开开发者选项
和启用USB调试
,推荐启用“仅充电”模式下允许ADB调试
2)如果找不到开发者选项在哪,可以按照下面的方法找到开发者选项并打开:
打开手机找到设置
–>点击更多设置
–>点击进入关于手机
–>找到版本号
连续点击7次即可开启开发者模式
2、手机用usb线连接电脑,然后打开终端
3、检查是否连接成功
1 |
|
(手机会提示是否允许调试,点击确定)
说明连接成功
4、启用手机网络调试
1 |
|
此时可以断开手机和电脑的连接
4、查看手机的ip,比如192.168.1.111
然后使用adb无线连接
1 |
|
此时连接成功
5、使用scrcpy进行连接
1 |
|
此时会弹出一个可以控制手机的窗口,可以通过鼠标和键盘控制手机
注:手机在重启或重新打开usb调试后需要重新启用手机网络调试
linux设置软件开机自启动
一、有界面的程序自启动
利用Linux的 .desktop
文件实现开机启动。
在/etc/xdg/autostart
目录下建立一个 test.desktop
文件,并对文件进行以下编辑。
操作步骤
打开/etc/xdg/autostart
目录:
1 |
|
或者打开~/.config/autostart
目录:
1 |
|
建立test.desktop文件:
1 |
|
编写文件并保存:
1 |
|
添加如下代码:
1 |
|
桌面条目具体要求和含义可见:https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
注意:
需要root权限
此设置开机自启动的方法与rc.local
方法不同的是,此方法适合桌面级软件的开机自启动(软件有界面)
二、无界面的程序自启动
① 方式一
Ubuntu 20.04的服务管理是基于systemd
的,因此设置服务自启动最推荐的方法是在/etc/systemd/user
目录下创建一个systemd服务文件,配置好要执行的服务。
该种方式在ExecStart
字段中指定开机自启动的程序是可执行文件的时候会管用,但在某些情况下,当ExecStart
字段指定为脚本文件时可能会失效,并且此方式貌似需要登录系统后才会启动指定的程序
操作步骤
创建我们需要开机自启动的脚本,例如test.sh,其内容如下:
1 |
|
在/etc/systemd/user
目录下创建一个systemd服务文件, 命名为user-defined.service
(可以命名为以.service
结尾的任何名称), 内容如下:
1 |
|
将systemd服务文件和我们的脚本更改权限,使其可执行。
1 |
|
重新加载系统的systemd服务文件,并启用我们自己写的user-defined.service
文件。
1 |
|
取消开机自启动:
1 |
|
② 方式二
现在大部分的Linux发布版本开机第一个程序都从init
换成了systemd
这中启动方式。systemd
是靠管理unit
的方式来控制开机服务、开机级别等功能。
在/usr/lib/systemd/system
目录下包含了各种unit
文件,有service
后缀的服务unit,有target
后缀的开机级别unit等,这里介绍关于service
后缀的文件。因为systemd在开机要想执行自启动,都是通过这些*.service
的unit控制的,服务又分为系统服务(system)
和用户服务(user)
。
系统服务:开机不登录就能运行的程序(常用于开机自启)。
用户服务:需要登录以后才能运行的程序。
配置文件说明:
(以sshd.service服务为例)
[Unit]区块:启动顺序与依赖关系
Description字段:给出当前服务的简单描述。
Documentation字段:给出文档位置。
After字段:如果network.target或sshd-keygen.service需要启动,那么sshd.service应该在它们之后启动。
Before字段:定义sshd.service应该在哪些服务之前启动。
注:After和Before字段只涉及启动顺序,不涉及依赖关系
Wants字段:表示sshd.service与sshd-keygen.service之间存在“弱依赖”关系,即如果sshd-keygen.service启动失败或停止运行,不影响sshd.service继续执行。
Requires字段:表示“强依赖”关系,即如果该服务启动失败或异常提出,那么sshd.service也必须退出。
注:Wants
字段与Requires
字段只涉及依赖关系,与启动顺序无关,默认情况下是同时启动的
[Service]区块:启动行为。
启动命令:
ExecStart字段:定义启动进程时执行的命令。
ExecReload字段:重启服务时执行的命令。
ExecStop字段:停止服务时执行的命令。
ExecStartPre字段:启动服务之前执行的命令。
ExecStartPost字段:启动服务之后执行的命令。
ExecStopPost字段:停止服务之后执行的命令。
注:所有的启动设置之前都可以加一个连词号(-),表示
抑制错误
,即发生错误的时候,不影响其他命令的执行。比如EnvironmentFile=-/etc/sysconfig/sshd
(注意等号后面的那个连词号),就表示即使/etc/sysconfig/sshd
文件不存在,也不会抛出错误。[Service]中的启动、重启、停止命令要求全部使用绝对路径!
启动类型:
Type字段定义启动类型。
它可以设置的值如下:
simple(默认值):ExecStart字段启动的进程为主进程
forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程(后台运行)
oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
dbus:类似于simple,但会等待D-Bus信号后启动
notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合。
重启行为:
Service区块有一些字段,定义了重启行为。
KillMode字段:定义 Systemd 如何停止 sshd 服务:
control-group(默认值):当前控制组里面的所有子进程,都会被杀掉
process:只杀主进程
mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
none:没有进程会被杀掉,只是执行服务的 stop 命令。
Restart字段:定义了sshd退出后,Systemd 的重启方式
no(默认值):退出后不会重启
on-success:只有正常退出时(退出状态码为0),才会重启
on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
on-abnormal:只有被信号终止和超时,才会重启
on-abort:只有在收到没有捕捉到的信号终止时,才会重启
on-watchdog:超时退出,才会重启
always:不管是什么退出原因,总是重启
Restart设为on-failure,表示任何意外的失败,就将重启sshd。如果 sshd 正常停止(比如执行systemctl stop命令),它就不会重启。
注:对于守护进程,推荐设为
on-failure
。对于那些允许发生错误退出的服务,可以设为on-abnormal
RestartSec字段:表示 Systemd 重启服务之前,需要等待的秒数。
[Install]区块:
Install区块定义如何安装这个配置文件,即怎样做到开机启动。
WantedBy字段:表示该服务所在的 Target。
Target的含义是服务组,表示一组服务。
WantedBy=multi-user.target指的是:sshd 所在的 Target 是multi-user.target。
这个设置非常重要,因为执行systemctl enable sshd.service命令时,sshd.service的一个符号链接,就会放在/etc/systemd/system目录下面的multi-user.target.wants子目录之中。
Systemd 有默认的启动 Target。
1 |
|
输出multi-user.target
上面的结果表示,默认的启动 Target
是multi-user.target
。在这个组里的所有服务,都将开机启动。这就是为什么systemctl enable
命令能设置开机启动的原因。
使用 Target
的时候,systemctl list-dependencies
命令和systemctl isolate
命令也很有用。
查看 multi-user.target 包含的所有服务:
1 |
|
切换到另一个 target(shutdown.target 就是关机状态):
1 |
|
一般来说,常用的Target有两个:
multi-user.target:表示多用户命令行状态;
graphical.target:表示图形用户状态,它依赖于multi-user.target。
注册服务实例:
配置文件目录
systemctl脚本目录:/usr/lib/systemd/
系统服务目录:/usr/lib/systemd/system/
用户服务目录:/usr/lib/systemd/user/
在/usr/lib/systemd/system目录下新建service-name.service文件:
1 |
|
重载系统服务:systemctl daemon-reload
设置开机启动:systemctl enable *.service
启动服务:systemctl start *.service
停止服务:systemctl stop *.service
重启服务:systemctl restart *.service
注:修改完配置文件要重载配置文件
参考:
https://www.freedesktop.org/software/systemd/man/systemd.service.html
https://www.jianshu.com/p/79059b06a121
https://wiki.archlinux.org/title/systemd/User
http://www.jinbuguo.com/systemd/systemd.service.html
三、补充
适用于无界面的程序自启动
对于有/etc/rc.d/rc.local
或/etc/rc.local
文件的Linux发行版本,开机自启动只需要在/etc/rc.local
文件中添加上自己程序的路径即可,但如果程序是有界面的,仍然只能使用方法一来设置开机自启动。
注:现在已经不提倡使用这种方式设置开机自启动了,如果使用过程中设置失败了,需要查看/etc/rc.d/rc.local
文件是否具有可执行权限(/etc/rc.local
只是/etc/rc.d/rc.local
的软链接,添加/etc/rc.local
文件的可执行权限是不管用的)。
git-lfs使用
在一些项目中有时会上传或者克隆一些超过10mb的大文件,如果只使用git就比较麻烦,这时就可以配合git-lfs管理大文件
启用git-lfs
1 |
|
或者设置环境变量
1 |
|
克隆项目
1 |
|
这时候就会把大文件(lfs)克隆下来
如果不想要克隆大文件,可以禁用git-lfs
1 |
|
或者设置环境变量
1 |
|
如果出现git警告仓库不是安全目录,可以设置安全目录
1 |
|
为项目上传大文件
首先启用git-lfs,然后对大文件进行追踪
1 |
|
追踪safetensors格式的所有大文件
1 |
|
追踪test.safetensors大文件
将.gitattributes配置文件进行追踪(执行git lfs track
之后的配置会在这个文件中保存)
1 |
|
这时就可以把大文件添加到上传列表中
1 |
|
最后将项目进行推送
1 |
|
如果无法推送,可以先执行
git lfs push origin 分支
,再执行git push
如果要少去git lfs track
的步骤,可以往.gitattributes
文件写入以下内容。
1 |
|
根据文件的格式进行修改
linux安装nvidia驱动
1、下载驱动文件
前往nvidia官网下载驱动,选择好显卡版本后,在操作系统
选项选择Linux 64-bit
,点击开始搜索
,选择一个版本进行下载,此时得到NVIDIA-Linux-x86_64-545.29.02.run
文件(不同的版本文件名不同),将该文件放在用户目录中,方便找到
1 |
|
2、禁用nouveau
1 |
|
3、关闭X Server图形桌面
按下Ctrl+Alt+F1
进入tty界面,按以下方法关闭x server
- gdm类型桌面系统
1
2sudo /etc/init.d/gdm stop # 停止
sudo /etc/init.d/gdm status # 查看状态 - lightdm类型桌面系统
1
2sudo /etc/init.d/lightdm stop # 停止
sudo /etc/init.d/lightdm status # 查看状态 - sddm类型桌面系统
1
2sudo /etc/init.d/sddm stop # 停止
sudo /etc/init.d/sddm status # 查看状态
4、安装nvidia驱动
给nvidia驱动安装程序赋予执行权限
1 |
|
运行安装程序
1 |
|
根据提示安装即可,完成后重启电脑
1 |
|
5、检查驱动是否安装成功
如果进桌面黑屏,可以按下Ctrl+Alt+F1
进入tty界面,删除xorg.conf后重启
1 |
|
检查安装是否成功
1 |
|
linux安装waydroid
基于Debian/Ubuntu系
1、添加waydroid下载源
1 |
|
2、安装waydroid
1 |
|
3、下载Android系统镜像
前往waydroid镜像的发布地址,下载system和vendor压缩包文件,把压缩包里的文件解压到waydroid的目录里
1 |
|
4、初始化waydroid
1 |
|
5、配置arm转译层
下载waydroid_script,并配置运行环境
1 |
|
6、配置waydroid多窗口
1 |
|
7、启动waydroid
1 |
|
8、软件安装和文件传输
1 |
|
修改cinnamon主题透明度
以下为对 Linux mint 官方主题的cinnamon.css
文件的修改部分
修改了部分组件的透明度和颜色
开始菜单上搜索框的背景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28#menu-search-entry, .popup-menu #notification StEntry {
padding: 7px;
caret-size: 1px;
selection-background-color: #1f9ede;
selected-color: #ffffff;
transition-duration: 300ms;
border-radius: 3px;
color: #303030;
background-color: #f4f4f4;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.2); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.2); /* 结束颜色和透明度 */
border: 1px solid #cfd6e6;
box-shadow: inset 0 2px 4px rgba(244, 244, 244, 0.05); }
#menu-search-entry:focus, .popup-menu #notification StEntry:focus, #menu-search-entry:hover, .popup-menu #notification StEntry:hover {
color: #303030;
background-color: #f4f4f4;
border: 1px solid #1f9ede;
box-shadow: inset 0 2px 4px rgba(244, 244, 244, 0.05); }
#menu-search-entry:insensitive, .popup-menu #notification StEntry:insensitive {
color: rgba(48, 48, 48, 0.55);
background-color: #efefef;
border-color: 1px solid #dadee7;
box-shadow: inset 0 2px 4px rgba(239, 239, 239, 0.05); }
#menu-search-entry StIcon.capslock-warning, .popup-menu #notification StEntry StIcon.capslock-warning {
icon-size: 16px;
warning-color: #F27835;
padding: 0 4px; }调整一级菜单的参数,
background-color
第四个参数用来调整透明度1
2
3
4
5
6
7
8
9
10
11
12
13.menu {
color: #303030;
border: 1px solid #b5b5b5;
border-radius: 3px;
background-color: rgba(232, 232, 232, 0.7); }
.menu.top {
border-radius: 0 0 3px 3px; }
.menu.bottom {
border-radius: 3px 3px 0 0; }
.menu.left {
border-radius: 0 3px 3px 0; }
.menu.right {
border-radius: 3px 0 0 3px; }调整二级菜单的参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14.popup-sub-menu {
background-color: #f4f4f4;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.4); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.4); /* 结束颜色和透明度 */
box-shadow: none; }
.popup-sub-menu .popup-menu-item:ltr {
padding-right: 1.75em; }
.popup-sub-menu .popup-menu-item:rtl {
padding-left: 1.75em; }
.popup-sub-menu StScrollBar {
padding: 4px; }
.popup-sub-menu StScrollBar StBin#trough, .popup-sub-menu StScrollBar StBin#vhandle {
border-width: 0; }任务栏右键菜单选中项目背景颜色
1
2
3
4
5
6.popup-menu-item:active {
color: #303030;
background-color: rgba(31,158,222,0.99); }
.popup-menu-item:insensitive {
color: rgba(48, 48, 48, 0.3);
background: none; }调整任务栏的参数,
background-color
第四个参数用来调整透明度1
2
3
4
5
6.panel-top, .panel-bottom, .panel-left, .panel-right {
color: #ffffff;
border: none;
background-color: rgba(232, 232, 232, 0.4);
font-size: 1em;
padding: 0px; }日历事件菜单的背景
1
2
3
4
5
6
7
8
9
10.calendar-events-main-box {
height: 300px;
margin-right: .5em;
padding: .5em;
min-width: 350px;
border: 1px solid #b5b5b5;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.1); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.1); /* 结束颜色和透明度 */
background-color: #f4f4f4; }通知的背景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#notification {
border: 1px solid #b5b5b5;
border-radius: 3px;
background-color: #e8e8e8;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.8); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.8); /* 结束颜色和透明度 */
padding: 13px;
spacing-rows: 10px;
spacing-columns: 10px;
margin-from-right-edge-of-screen: 20px;
width: 34em;
color: #303030; }
.popup-menu #notification {
color: #303030;
border-image: url("light-assets/misc/message.svg") 9 9 9 9; }
.popup-menu #notification .notification-button, .popup-menu #notification .notification-icon-button {
padding: 5px; }
#notification.multi-line-notification {
padding-bottom: 13px;
color: #303030; }
#notification-scrollview {
max-height: 10em; }
#notification-scrollview > .top-shadow, #notification-scrollview > .bottom-shadow {
height: 1em; }
#notification-scrollview:ltr > StScrollBar {
padding-left: 6px; }
#notification-scrollview:rtl > StScrollBar {
padding-right: 6px; }
#notification-body {
spacing: 5px; }
#notification-actions {
spacing: 10px; }通知菜单上按钮的背景
1
2
3
4
5
6.notification-button, .notification-icon-button {
padding: 5px;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.3); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.3); /* 结束颜色和透明度 */
}Alt+Tab 菜单的背景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31.switcher-list {
color: #303030;
border: 1px solid #b5b5b5;
background-color: #e8e8e8;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.6); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.6); /* 结束颜色和透明度 */
border-radius: 3px;
padding: 20px; }
.switcher-list > StBoxLayout {
padding: 4px; }
.switcher-list-item-container {
spacing: 8px; }
.switcher-list .item-box {
padding: 8px;
border-radius: 2px; }
.switcher-list .item-box:outlined {
padding: 8px;
border: 1px solid #1f9ede; }
.switcher-list .item-box:selected {
color: #ffffff;
background-color: #1f9ede;
border: 0px solid #1f9ede; }
.switcher-list .thumbnail {
width: 256px; }
.switcher-list .thumbnail-box {
padding: 2px;
spacing: 4px; }
.switcher-list .separator {
width: 1px;
background: rgba(255, 255, 255, 0.2); }Alt + F2 菜单的背景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25.modal-dialog {
background-color: #e8e8e8;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.4); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.4); /* 结束颜色和透明度 */
border: 1px solid #b5b5b5;
border-radius: 3px;
padding: 5px 10px; }
.modal-dialog > StBoxLayout:first-child {
padding: 10px; }
.modal-dialog-button-box {
spacing: 0;
margin: 0px;
padding: 10px;
border: none;
background-color: #e8e8e8; }
.modal-dialog-button-box .modal-dialog-button {
padding-top: 0;
padding-bottom: 0;
height: 30px; }
.modal-dialog .confirm-dialog-title {
text-align: center;
font-weight: bold;
font-size: 1.3em;
padding-bottom: 12px; }开始菜单左边功能按钮的背景
1
2
3
4
5
6
7
8.menu-favorites-box {
padding: 10px;
transition-duration: 300;
background-color: #e7e7e7;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.3); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.3); /* 结束颜色和透明度 */
border: 1px solid #b5b5b5; }开始菜单侧栏选中背景颜色
1
2
3
4
5
6.menu-favorites-button {
padding: .9em 1em;
border: 1px solid rgba(0, 0, 0, 0);
border-radius: 2px; }
.menu-favorites-button:hover {
background-color: #1f9ede; }开始菜单应用列表子栏选中背景颜色
1
2
3
4
5
6
7
8
9
10
11.menu-application-button-selected {
padding: 7px;
color: #303030;
background-color: #1f9ede;
border: 1px solid #b5b5b5; }
.menu-application-button-selected:highlighted {
font-weight: bold; }
.menu-application-button-label:ltr {
padding-left: 5px; }
.menu-application-button-label:rtl {
padding-right: 5px; }开始菜单应用列表选中背景颜色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19.menu-category-button {
padding: 7px;
border: 1px solid rgba(0, 0, 0, 0); }
.menu-category-button-selected {
padding: 7px;
color: #303030;
background-color: #1f9ede;
border: 1px solid #b5b5b5; }
.menu-category-button-hover {
background-color: red;
border-radius: 2px; }
.menu-category-button-greyed {
padding: 7px;
color: rgba(48, 48, 48, 0.55);
border: 1px solid rgba(0, 0, 0, 0); }
.menu-category-button-label:ltr {
padding-left: 5px; }
.menu-category-button-label:rtl {
padding-right: 5px; }OSD提示菜单的背景
1
2
3
4
5
6
7
8
9
10
11
12.info-osd {
text-align: center;
font-weight: bold;
spacing: 1em;
padding: 16px;
color: #303030;
background-gradient-direction: vertical; /* 这个应该是颜色排列方向 */
background-gradient-start: rgba(244,244,244,0.6); /* 起始颜色和透明度 */
background-gradient-end: rgba(244,244,244,0.6); /* 结束颜色和透明度 */
border: 1px solid #b5b5b5;
border-radius: 5px;
background-color: #e8e8e8; }任务栏小组件选中背景颜色
1
2
3
4
5
6
7.applet-box:hover, .applet-box:checked {
color: #303030;
background-color: rgba(31, 158, 222, 0.99); }
.applet-box:highlight {
background-image: none;
border-image: none;
background-color: rgba(252, 65, 56, 0.5); }
配置 Jupyter
安装
1
pip install notebook ipykernel jupyterlab-language-pack-zh-CN
运行
1
jupyter notebook
Git 删库小寄巧
方法 1
- 查询第一个提交信息的哈希值。
1
git log
将仓库的内容删除。
1 |
|
方法 2
创建一个新的空分支
1
git checkout --orphan temp_branch
创建一个commit
1
git commit -m "commit"
删除主分支
1
git branch -D master
将新分支重命名为主分支
1
git branch -m master
强制推送更改到远程主分支
1
git push -f origin master
关联远程master主分支
1
git branch --set-upstream-to=origin/master
参考:
https://blog.csdn.net/qq_46106285/article/details/124744328
https://blog.csdn.net/weixin_46447553/article/details/135460278