Ubuntu踩坑指南(持续更新)

问题1: mac本编译报错
error: function does not return NSString - (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
expanded from macro ‘NS_FORMAT_ARGUMENT’
#define NS_FORMAT_ARGUMENT(A) attribute ((format_arg(A)))
报错的地方在SDK的这行#define NS_FORMAT_ARGUMENT(A) attribute ((format_arg(A))),找不到format_arg导致的,这个是因为Mac SDK的版本的跟llvm的版本不匹配导致的。尝试更新mac版本。
更新你的 macOS 版本:Apple 通常会在新的 macOS 版本中提供更好的性能和安全性,以及对新软件的支持。你可以通过进入 System Preferences > Software Update 来检查是否有可用的 macOS 更新。
问题3:github登录不进去

  1. 先进入这个网址https://websites.ipaddress.com/github.global.ssl.fastly.net#ipinfo
  2. 找到图中的IP1
    在这里插入图片描述
  3. 在上面的网站上搜索github.com,找到IP2
    在这里插入图片描述
  4. 使用命令sudo vim /etc/hosts打开hosts文件,并在最后加入以下信息
199.232.69.194 github.global.ssl.fastly.net
140.82.112.4 github.com
sudo vim /etc/hosts
#github starts//进去添加映射
199.232.69.194 github.global.ssl.fastly.net
140.82.112.4 github.com
#github_end
ping github.com #映射后出来,输入这行,ctrl C终止,看是否有丢失

问题4:如何通过终端上传代码到github
解决方法:

cd .shh //进入.shh文件夹
cat id_rsa.pub //获得公钥,并将公钥复制
//在github上找到your repositories里的SHH keys,创建new ssh key,将公钥复制在这里。
ssh -T git@github.com //终端输入进行测试
//若显示如下,则说明免密成功
/*The authenticity of host 'github.com (192.30.253.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts.
Hi luanlongsheng! You've successfully authenticated, but GitHub does not provide shell access.*/
mkdir Git //建立文件夹
cd Git //进入文件夹
git config --global user.name "luanlongsheng" //进行基本配置,你的github注册名
git config --global user.email "2683961566@qq.com" //你的github注册邮箱
git init //显示如下
//初始化空的 Git 仓库于 /home/luanlongsheng/Git/.git/
在github中your repositories中选择要存储的仓库,进入,点击clone or download在clone with SSH下复制网址如下:
git@github.com:luanlongsheng/LeetCode.git
git clone git@github.com:luanlongsheng/LeetCode.git//进入终端输入,将远程仓库克隆到本地上
ls //此时应出现Leetcode文件夹
cd Leetcode //进入远程文件夹
vim Leetcode19.cpp //建立编程文件夹
git status //查看当前状态,显示如下
/*位于分支 master
您的分支与上游分支 'origin/master' 一致。
要提交的变更:
  (使用 "git reset HEAD <文件>..." 以取消暂存)

	新文件:   1.cpp
*/
git add . //将要放进仓库放到队列里准备
git status //查看状态,显示如下
/*位于分支 master
您的分支与上游分支 'origin/master' 一致。
要提交的变更:
  (使用 "git reset HEAD <文件>..." 以取消暂存)

	新文件:   1.cpp
*/
git commit -m "Leetcode19.cpp" //提交,添加注释,删除操作也需添加注释,显示如下
/*[master 4241a49] my first Cprogram
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 1.cpp
*/
git push -u origin master //将文件放到远程仓库,显示如下
/*对象计数中: 3, 完成.
Delta compression using up to 8 threads.
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 277 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 2 (delta 0)
To git@github.com:luanlongsheng/LeetCode.git
   f59830c..4241a49  master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
*/

问题6:搜索
在vim,more,less等命令中进行搜索时使用/,使用N向上搜索,使用n向下搜索。
问题7:vim的插入操作
在普通模式下:
行末插入:A
行首插入:I
下一行插入:o
当前位置插入:i
问题8:从其他位置拷贝代码到Vim编辑器中,但很有可能因为你对Vim的优化配置导致粘贴进去的代码格式混乱,并且因为Vim联想单词的原因,导致粘贴巨卡
普通模式下输入:set paste
问题9:如何让vim显示行号
显示行号::set nu
去掉行号:set nonu
问题10:如何显示看不到的字符,如换行符
普通模式下输入:set list
问题11:vim中的快捷位置移动命令
回到行首:^
回到行末:$
回到文本首位置:gg
回到文本末尾:G
回到文本第123行:123gg123G
问题12:Ubuntu系统插优盘
错误提示:不能挂载大容量优盘
解决方法:安装软件exfat-utils,运行下面的命令

sudo apt-get install exfat-utils

问题13:Ubuntu的软件配置问题
安装的一些软件中,每次运行都需要配置环境

source ~/.../setup.bash

可以在主文件中输入ctrl+h,会显示.bashrc文件
点进.bashrc,进入文件中在末尾增加环境变量source ~/.../setup.bash
以后执行软件前就不需要再先每次配置环境了

如果在.bashrc中做了一些更改,更新环境变量可以退回终端键入

source ~/.bashrc

问题14:如何远程连接树莓派

sshpi 用户名@pi4

问题15:如何使vim在普通模式下可以检查语法
配置vim ma6174

wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

问题17:make时错误提示:make: *** 没有指明目标并且找不到 makefile。 停止
打开CMakeLists.txt,在里面添加

set(CMAKE_CXX_FLAGS "-std=c++11")

问题18:如何在Ubuntu中查看包的版本信息
参考这篇博客

问题20:Ubuntu16.04下安装QQ和微信
参考这篇博客
安装其它一些如网易云音乐,有道翻译等和更新软件源的操作可以参考这篇博客
问题21:vim进入全屏模式的快捷键
fn + f11
问题22:如何显示某个目录的代码量(行数)
参考这篇博客
问题23:如何在ubuntu中更新python版本
参考这篇博客
不要轻易这样做,很容易导致终端不能正常打开,这时可以将默认的python3.5优先级重新调到最高
问题24:如何在ubuntu中安装显卡驱动并查看是否正确安装
参考文档1
参考文档2
安装显卡驱动
为什么说对的系统呢,这是因为在多次尝试后发现,如果使用ubuntu14安装显卡驱动会出现无法进入系统,一直在循环在登录界面,而ubuntu16则不会出现这个问题,所以说最好升级一下吧,毕竟14有点太老了。

重要的一点是不要在安装或安装后升级内核,否则cuda无法识别内核而导致安装失败!(如果已经升级并且cuda报错,那么百度或谷歌一下如何降内核吧)

先安装一些依赖吧,接下来可能用的到

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential

使用如下指令安装你的nvidia驱动

sudo apt-get update
sudo apt-get install nvidia-367#相应的nvidia版本

法一:首先得安装 mesa-utils,在终端输入命令: sudo apt-get install mesa-utils
然后再运行命令: glxinfo | grep rendering
如果结果是“yes”,证明显卡 驱动已经成功安装。
在这里插入图片描述
法二
安装好驱动后重启,按windows键,在你的程序中搜索nvidia就可以看到
在这里插入图片描述
表示你已经成功安装显卡驱动

问题24:如何查看nvadia显卡驱动信息

nvidia-smi

在这里插入图片描述

问题25:ubuntu中如何升级显卡的驱动
查看显卡的型号

lspci | grep -i nvidia

显卡驱动的版本应和cuda的版本相匹配
在这里插入图片描述
在nvidia的官网可以根据计算机显卡的型号选择支持的驱动版本,一般选择比显卡晚1~2年的驱动类型为宜
可以在NVIDIA官方网站中输入显卡信息后点击开始查找支持的驱动版本,并根据自身需求(pytorch的版本等)选择合适的版本进行下载
在这里插入图片描述
升级显卡驱动后续过程可以参考这篇博客
问题26:Ubuntu中不小心新建了一个用户并加了管理员权限
这时每次登录将会默认为是管理员账户界面,也就是一个崭新的界面。
首先先进入\home文件夹下查看是否新旧用户文件夹都在,如果都在,那还有救,证明旧用户还没有被删除。
删除新用户
1.ctrl+alt+f1:进入ttf界面
2.输入旧用户的账号密码,登录到旧用户账号
3.sudo service lightdm stop //关掉图形化界面
4.sudo userdel -r 新用户名 //删除新用户
5.reboot  //重启
问题27:gcc编译器的常用用法
参考这里:gcc的基本用法
问题28:报错信息:对‘pthread_create’未定义的引用
解决方法是在编译的时候加上-lpthread参数。

g++ main.cpp -lpthread

问题28:ubuntu下如何打开摄像头
直接在终端输入cheese
问题29:运行nvidia -smi时报错如下

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

解决方法:

  • 首先查看cuda,还在
    在这里插入图片描述
  • 查看自己安装的nvidia版本,我的是430.26
ls /usr/src | grep nvidia
  • 然后,终端执行一下命令
sudo apt install dkms
sudo dkms install -m nvidia -v 430.26
  • 再次输入nvidia-smi,显示:
    在这里插入图片描述

问题30:ubuntu下所有的文件都出现了高亮的绿色
在这里插入图片描述
问题原因:如果其它组权限拥有写入权限,系统默认这是一个高风险目录,因为任何人都可以该目录进行写入操作,当然也包括黑客。所以将它显示为醒目的绿色背景以警示操作者
解决方法:

sudo chmod -R 775 文件名

问题31:如何连接两台linux系统

  • 首先两台电脑需要安装openssh-sever
sudo apt-get install openssh-server
  • 查找被连接计算机端ip地址,使用以下命令inet后跟的为ip地址
ifconfig
  • 然后在连接端运行以下命令
ssh 用户名@ip地址
  • 输入密码即可连接

如果想实现桌面共享,可以使用VNC或Teamviewer
vnc的使用:
前期准备参照这篇
vnc的使用参照这篇
也可以使用xrdp实现windows与ubuntu的互联
如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)

问题32:如何修改ubuntu20.04的快捷键
设置->键盘快捷键->找到想更改的功能->按下想设置的快捷键即可
在这里插入图片描述
问题33:Ubuntu下如何写脚本语言,提高效率

如果只是想在某一个目录中可以执行脚本,就在该目录下新建一个.sh的文件
然后将要执行执行的命令依次写入sh文件,命令间用;相隔,保存并退出
为文件增加权限

chmod -R 777 XXX.sh

接下来就可以在该目录下运行这个脚本啦

./XXX.sh

如果想让这个脚本在全局生效,需要进行下面两步

  1. 将sh文件移动到bin目录下

注意:起的名字不要与系统现有的脚本名字冲突

sudo mv /XXX/XXX.sh  /bin/YYY.sh
  1. 修改权限
sudo chmod 755 /bin/YYY.sh

至此,该脚本便可以在全局范围内生效了。

问题34. 如何查看当前运行的程序
使用ps及其相关方法,参考这篇文章

问题35. 报错找不到pip
参考这篇

问题36. 不小心把系统设置删除了?

  1. 把unity-control-center 安装回来:
sudo apt-get install unity-control-center
  1. 重启后,发现还是没有设置图标,那就要重新安装gnome-control-center:
sudo apt-get install gnome-control-center
  1. 重启后设置图标就回来啦。

问题37. 卸载Ubuntu,不小心把win10引导项搞丢了,导致win10系统无法启动

  • 启动计算机,报错如下
    一直卡在Checking media界面,偶尔跳转至图2中注意提示框
    在这里插入图片描述
    在这里插入图片描述
  • 分析原因
    win10的引导项丢了,需要修复win10下的UEFI引导
  • 修复方法
  1. 制作PE启动盘
    可以使用大白菜U盘启动工具
    下载地址:大白菜启动工具
    参考大白菜启动工具-U盘制作教程,制作PE启动盘
  2. 修改BIOS设置
    根据自己电脑型号,开机启动时按相应的按键进入BIOS设置。
    • 将Security中的Secure Boot设置为Disabled;
    • 将U盘设置为第一启动项;
    • 按F10保存BIOS设置,并重启电脑,进入PE。
  3. 进行系统引导修复
    参考系统引导修复
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值