LinuxCNC环境配置

Linux下如何切换到root用户

默认安装完成之后并不知道 root 用户的密码,那么如何应用 root 权限呢?

  • sudo 命令

Linux sudo 命令以系统管理者的身份执行命令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

  • sudo -i|-s
debian@debian:~$ sudo -i

通过这种方法输入当前管理员用户的密码就可以进到 root 用户。

  • 如果想一直使用 root 权限,要通过 su 切换到 root 用户

那我们首先要重设置 root 用户的密码:

debian@debian:~$ sudo passwd root

这样就可以设置 root 用户的密码了。

  • 之后就可以自由的切换到 root 用户了
debian@debian:~$ su - root

输入 root 用户的密码即可。

输入 exit,则回到用户权限。

Debian修改vim的Tab为4个空格

演示环境

debian@debian:~$ cat /etc/debian_version
7.11

操作步骤

  1. 编辑 vim /etc/vim/vimrc
  2. 在文件最后添加以下内容
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set nu

说明:

  • tabstop:一个 tab 显示多少个空格的长度,vim 默认为 8。
  • softtabstop:编辑模式的时候按退格键的时候退回缩进的长度。
  • shiftwidth:每一级缩进的长度,一般设置成跟 softtabstop 一样。
  • expandtab:缩进用空格来表示。
  • noexpandtab:缩进用制表符表示。
  • nu:默认显示行号。

注:expandtab / noexpandtab 二选一。

Xshell终端主机名和用户名显示颜色

问题描述:第一次使用 Xshell 终端远程 Linux 服务器,发现 Xshell 终端主机名和用户名不显示颜色,很不方便,命令行数据一多就找不到终端主机名和用户名了,如下图所示

在这里插入图片描述

输入命令 ls 之后变色了,但是变色的仅仅只是文件夹部分,命令行开始的 debian@debian:~$ 部分还是白色的,和其它部分一样,颜色还是不显眼。

解决方法:

  1. 打开家目录下的 .bashrc 文件:vim .bashrc

在这里插入图片描述

  1. 找到上图中被框起来的部分:#force_color_prompt=yes,把此行注释手动去掉。
  2. Esc 键,输入 :wq 保存退出。
  3. 加载 .bashrc 文件:source ~/.bashrc

如此就可以看到效果了,如下图所示

在这里插入图片描述

Linux切换到root用户后没有颜色

我用的是 Debian 系统,非 root 模式下命令行是有配色的,但是切换到 root 模式后就变成纯白色了,如下图所示

在这里插入图片描述

实际上颜色文件是保存在 ~/.bashrc 里的,而 ~/.bashrc 里面的 PS 变量是只作用在当前用户的终端的,切换到 root 之后就需要给 root 重新设置 PS 变量,默认的 /root/.bashrc 是空的。

我们看下非 root 下的 ~/.bashrc 文件:cat ~/.bashrc

在这里插入图片描述

然后切换到 root 模式,再看一下:cat root/.bashrc,很明显为空。

在这里插入图片描述

把我们需要的 PS 设置复制到 /root/.bashrc,就可以修改颜色了。

sudo cp ~/.bashrc /root/.bashrc

在这里插入图片描述

Debian SSH登录慢的解决办法

在通过 SSH 登录无外网连接的 Debian 系统时,提示输入密码前会有一个延时。Google了一下,通常的答案是关闭 GSSAPI 认证。打开 /etc/ssh/ssh_config,修改

GSSAPIAuthentication no

但是为什么会这样呢?想到有外网连接时正常,怀疑是 DNS 解析造成的影响,通过抓包验证了这个推断。原来在登录时,SSH 服务端会对客户端的 IP 做反向解析,此时连接不到 DNS 就出现了延时。解决办法是,打开 /etc/ssh/sshd_config,修改(如果没有就新增一行)

UseDNS no

解决Debian 10中的“xxx is not in the sudoers file”

在用 sudo 命令时提示 “xxx is not in the sudoers file. This incident will be reported.”。其中 xxx 是你的用户名,也就是你的用户名没有权限使用 sudo,我们只要修改一下 /etc/sudoers 文件就行了。下面是修改方法:

  1. 进入超级用户模式。也就是输入 su -,系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。
  2. 添加文件的写权限。也就是输入命令 chmod u+w /etc/sudoers
  3. 编辑 /etc/sudoers 文件。也就是输入命令 vi /etc/sudoers,输入 i 进入编辑模式,找到这一行 root ALL=(ALL:ALL) ALL,并在其下面添加 xxx ALL=(ALL:ALL) ALL(这里的 xxx 是你的用户名),然后保存(先按一下 Esc 键,然后输入 :wq)退出。
  4. 撤销文件的写权限。也就是输入命令 chmod u-w /etc/sudoers

在Debian 10上安装GCC编译器

GNU 编译器集合(GCC)是一个开源的编译器和库集合,支持 C、C++、Objective-C、Fortran、Ada、Go 等编程语言。Linux 内核,GNU 实用程序和许多其它项目都是使用 GCC 编译的。

本教程解释了如何在 Debian 10 Buster 上安装 GCC 编译器,相同的说明适用于 Debian 9 和任何基于 Debian 的发行版。

默认的 Debian 存储库包含一个元数据包 build-essential,其中包含 GCC 编译器以及编译软件所需的其它库和实用程序。按照以下步骤安装 GCC Compiler:

  • 更新包列表
sudo apt update
  • 安装 build-essential 软件包
sudo apt install build-essential

您可能还希望安装包含有关使用 GNU/Linux 进行开发的文档的手册页

sudo apt-get install manpages-dev
  • 确认 GCC 编译器已成功安装
gcc --version

Debian 10 存储库中可用的默认 GCC 版本是 8.3.0,如下图所示

gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

至此,您已在 Debian 计算机上成功安装了 GCC。

解决Debian 10中的“No manual entry for gcc”

当安装完 build-essential 软件包后,gcc-8 安装成功了,但是 man pages 却不可用

$ man gcc
No manual entry for gcc
See 'man 7 undocumented' for help when manual pages are not available.

并且,man pages 并不是由 gcc-8(或 gcc-7)提供的

$ dpkg -L gcc-8 | grep -i man
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/x86_64-linux-gnu-gcc-ar-8.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gcc-nm-8.1.gz
/usr/share/man/man1/x86_64-linux-gnu-gcc-ranlib-8.1.gz
/usr/share/man/man1/gcc-ar-8.1.gz
/usr/share/man/man1/gcc-nm-8.1.gz
/usr/share/man/man1/gcc-ranlib-8.1.gz

解决办法

Debian 10 的默认编译器是 GCC 8,但是 GCC 8 对应的文档没有打包在 Debian 10 的发布版本中,而是在 backports 下的 gcc-doc 包中。为了能够安装 gcc-doc,你需要启用 backports,使用如下命令安装

$ echo deb http://deb.debian.org/debian buster-backports main contrib non-free | sudo tee /etc/apt/sources.list.d/buster-backports.list
$ sudo apt update
$ sudo apt install -t buster-backports gcc-doc

然后,你就可以查看 gccman pages 了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Xenomai: 首先,需要从Xenomai的官方网站或者源码仓库中下载Xenomai的源代码,然后编译安装。 配置内核: 1. 首先需要下载与当前内核版本匹配的Xenomai内核补丁,并将其解压缩到内核源代码的根目录下。 2. 运行以下命令,配置内核: ``` make menuconfig ``` 在配置菜单中,需要将以下选项设置为"Y": - "Preemptible Kernel (Low-Latency Desktop)" 或 "Preemptible Kernel (Real-Time)" - "High Resolution Timer Support" - "Tickless System (Dynamic Ticks)" - "1000Hz timer frequency" - "Local Timer Interrupt" 然后,在"General Setup" -> "Control Group Support"中,将"CPU Controller"选项设置为"Y"。 最后,在"Real Time"菜单中,将"Xenomai"选项设置为"Y"。 3. 保存配置并退出菜单。 4. 编译内核: ``` make -j$(nproc) ``` 安装内核: 1. 安装内核镜像: ``` sudo make modules_install install ``` 2. 修改GRUB配置文件,将新内核设置为默认启动项: ``` sudo nano /etc/default/grub ``` 在GRUB_CMDLINE_LINUX_DEFAULT行中添加以下选项: ``` quiet splash isolcpus=2,3,4,5,6,7 nohz_full=2,3,4,5,6,7 rcu_nocbs=2,3,4,5,6,7 xenomai.allowed_cpus=0-7 ``` 注意:将"isocpus"、"nohz_full"、"rcu_nocbs"和"xenomai.allowed_cpus"的值调整为当前系统的CPU个数。 3. 更新GRUB配置: ``` sudo update-grub ``` 4. 重启系统并选择新内核启动。 安装LinuxCNC: 1. 安装依赖库: ``` sudo apt-get install -y libboost-thread-dev libboost-system-dev libboost-python-dev libboost-filesystem-dev libreadline-dev libncurses5-dev python-tk python-gtk2-dev python-glade2 python-gtkglext1 python-gudev python-lxml libxslt-dev libxml2-dev python-libxml2 python-pyparsing python-cairo python-gobject python-gtksourceview2 python-gtksourceview2-dev python-gst0.10-dev python-gst0.10 python-vte python-tornado python-numpy python-numpy-dev python-scipy python-matplotlib python-matplotlib-data python-matplotlib-doc python-cairo-dev python-gi-dev python-gi-cairo python-gi python-gtk2 python-gtk2-dev python-gtk2-doc python-gtk2-examples python-gtk2-tutorial python-gtksourceview2-dev python-glade2-dev python-yaml python-simplejson python-opengl libglu1-mesa-dev libgl1-mesa-dev python-gst0.10-dev python-gst0.10 python-vte python-xlib python-tk python-kiwi python-gtk2 python-gtk2-dev python-gtk2-doc python-gtk2-examples python-gtk2-tutorial python-gtksourceview2-dev python-glade2-dev python-gnome2-extras-dev libgtkmm-2.4-dev libgnomeui-dev libgnomevfs2-dev libgtkgl2.0-dev libgtkglext1-dev libglade2-dev glade-gtk2 libboost-dev libboost-serialization-dev libboost-python-dev python-dev libmodbus-dev libusb-dev libusb-1.0-0-dev libreadline-dev libboost-dev libpcre3-dev libncurses5-dev libboost-all-dev libboost-python-dev libqt4-dev qt4-dev-tools libqwt-dev libmatio-dev ``` 2. 从LinuxCNC的官方网站或者源码仓库中下载LinuxCNC的源代码,并解压缩到任意目录中。 3. 进入解压缩后的LinuxCNC源代码的目录,并运行以下命令: ``` ./autogen.sh ./configure make sudo make setuid ``` 4. 运行以下命令启动LinuxCNC: ``` linuxcnc ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值