我的 Linux 开发环境

GNU/Linux 操作系统数量繁多,对于新手直接使用进行开发十分不友好。但是,随着 许多工具的发展,Linux 入门已经没有那么困难,这里简单介绍笔者的几个开发环境, 供读者参考。

[阅读全文]
Linux 

安装 GNU/Linux

之前一直搞不清楚 UEFI 和 Legacy 区别在哪里,今天搞了一下 Manjaro 终于搞明白了;比较好笑的是,我参考的是 Ubuntu 的文档。
https://help.ubuntu.com/community/UEFI

安装 Manjaro 的时候,一直都有个安装引导程序到某处,很纳闷,为啥我这里有这个东西,别人截图就没有。后来更换了rufus的写入的模式,也就是 UEFI only。然后重新以 UEFI 模式载入,终于,引导不再有之前的“安装引导程序“了。

感动不已,于是在这里记录一下。
https://askubuntu.com/questions/63610/how-do-i-remove-ubuntu-in-the-bios-boot-menu-uefi

ssh 显示图像

原来一直认为ssh仅仅是一个字符界面,最近发现其实可以传输xserver中的图像。

方法很简单,只需要在ssh的选项中添加-Y就可以了。比如原来的ssh命令是这样:

现在改成这样

非常简单有效。

另外,远程查看Ubuntu中的图像,可以使用eog命令。安装:

安装完成后,直接运行eog ./test.png即可。这对于服务器调试相当方便了!

SSH 可选的加速策略

ssh 

Ubuntu 脱坑指南

希望本文能够给读者较少一些不必要的困扰。书写顺序较为随意,以 “从安装到使用”这个为主线行文。 安装时 本文不在此具体介绍如何安装Ubuntu。对于安装过程的建议,本文会写在 内容之中。安装之前,建议阅读本文。 使用非定制的ISO 不要使用Lubuntu,Kubuntu甚至Gnome Ubuntu这些更改了默认桌面环境的Ubuntu。 对于新手而言,Ubuntu本身就很脆弱,使用这些定制的ISO,不仅不利于提升用户 体验,反而会在非重点的地方极大的消耗时间。对了,Kylin也是不推荐的,尽管 官方甚至都把它挂在了首页。 唯一建议使用的ISO是官方下载地址。 使用英文系统 中文系统可能会导致许多问题。比如,如果一个软件不支持中文路径,你可能需要 排查很久才能想到这个问题。除此之外还有其他的一些问题,比如在命令行中进入 一个目录,你可能需要切换输入法,然后再切换回来,十分不方便。还有一些暗含 的问题,我已经记不清了,也没有精力去探索这些问题,因为我们的目的是“脱坑”。 因此,使用英文作为系统语言可以解决很多问题。唯一引入的问题可能是英文的阅 读障碍。我想这应该是一个需要克服的问题。 如果使用英文調不出輸入法,可以嘗試添加中文支持,再去掉 不要挑战花式安装 我这里的花式安装是指,/home做一个分区,/boot做一个分区这种事;还有就 是在固态上放一个区,在其他位置再放一个区等。这种事情不要做。是的,不要做。 在我看来,这种事情毫无意义,对于新手而言,基本上不会有时间让系统稳定到 硬盘不够用。 把根目录/挂到一个大分区下,100G,所有问题就都解决了。当空间不足需要重装, 恭喜,你可能已经不是新手了,很多问题都可以不再按照此指南进行了。你可以 尝试按照你自己的意图去配置系统了。 使用 下面是使用部分。使用部分是,第一次进行安装之后,第一次进入桌面。 不要添加第三方PPA 我把这条忠告写在最前面。如果你不知道什么叫做第三方ppa,那么很好, 我的意思是,在你了解它是什么之前,不要通过apt与software center 以外的方式安装软件。这可以很大程度的保护你的软件包管理工具。修复 软件包管理工具需要消耗的时间可能很多,而且问题往往是链式的,总会 给新手造成“我以为我解决了”这样的错觉。 sudo add-apt-repository ppa:kelleyk/emacs 这就是我所说的PPA。 Vim 和 Emacs 都是我的最爱。 不要在输入法上耗费太多时间 输入法如果花费一上午都没有解决的话,建议放弃。因为Ubuntu官方的版本 有时候给出的中文输入法都可能无法使用。 如果真的需要输入中文,可以先考虑使用中文搜索引擎做pinyin的转换。不过 你真的需要中文,并且在Ubuntu下做文字处理的工作吗? 多运行apt-get update 是的。更换国内源这个事情我是建议的,个人对于tsinghua的源非常喜欢, 尽管它崩的概率也有点高,不过在ipv6以及速度上都太令人满意了。 源的不稳定可能造成的问题是,没有完全将软件依赖更新好。 如果你不知道我在说什么,没关系,apt命令出现问题时,多运行apt-get update 就可以了。 官方文档为主 Ubuntu的很多问题,都是国内博主在写文章时比较随意造成的(我也挖这种坑)。 在进行软件安装的时候,新手往往在国内搜索某个教程就复制粘贴了。这是非常 容易出问题的,且不论安全性,甚至教程本身都无法使得软件正常运行。这里面 包含很多种可能:文章不再更新,系统已经不适配;教程缺斤少两等等。 安装软件先以官方文档为主,也就是软件的官方网站,一般都会有文档。文档可能 不好读,但是起码能够减少问题。其次是Ubuntu官方的安装指南;再其次是google 第一位的安装指南(前提是新手能明白每一步都在做什么);没有最后。 能用apt-get install解决的问题,不要通过make解决。 尽量不使用sudo 除非是按照官方文档进行操作(不排除无良软件开发者挖坑导致运行时出问题), [阅读全文]

定制ARM-Linux镜像

简单看了看ARM-Linux镜像的相关内容,发现一个比较坑的地方,就是,不同架构的Linux是

不能直接chroot的,除非经过处理,比如qemu。使用这种模拟器可以进行解释执行。

<未完待续>

ARM  Linux 

Linux-makefile写法

本文出自svtter.github.io

本文可以随意转载,但是转载请保留本信息.

makefile写法有复杂的有简单的,我这里提到的主要为了做一些简单的开发,所以还是说些简单的事情。

使用makefile之前,要学会使用bash的一些东西。鸟哥的私房菜虽然说是介绍Linux,但是总感觉很多都是介绍bash,以及和

bash配合使用的一些命令。。。

变量的写法

  • 定义的时候直接使用VAR = main.o即可这种格式即可
  • 使用的时候使用${VAR}这种形式来使用,类似于php中的变量。

另外, 位于makefile外面的变量也是可以使用的,使用的时候使用如下格式VAR = main.o make即可,这样就相当于在makefile

定义了一个VAR变量。在外定义的变量是优先于makefile里面的变量的,就像是一个预订义的函数一般。

此外,$@表示当前的目标。如果在clean那里面,$@指的是clean

make + 命令写法

  • 比如make clean的写法,就是在makefile文件中添加

    clean:

    rm .. (类似bash的使用方法,这个地方也可以使用变量)

相对的,install等等的方法就类似于这个上面的写法了。

写到这里也是明白了为什么vim里面有个make命令,却没有各种编译命令了= =

然后附加一个自己写的第一个makefile:(为了读者更加容易理解,我没有使用变量)

test.c:

t2.c:

文件目录是:

– file

– makefile

– test.c

– t2.c

  • 使用make可以创建链接文件并且运行。
  • 使用make clean可以删除生成的文件。