从哪里开始学习开发 ubuntu?

从哪里开始学习开发 ubuntu?

你好,我是目前在大学学习计算机科学专业的学生,​​对开发开源软件非常感兴趣,尤其是 ubuntu。有没有一个可以一站式阅读有关开发 ubuntu 的地方?

例如,我仔细阅读了 Python 的官方教程和文档,一切就绪了。我可以编写有用的应用程序。Ubuntu 或 Unity 有同等版本吗?我尝试下载 alpha 2,但每 5 分钟就会崩溃一次。我在 IRC 上被告知,这是由于 Xorg 堆栈的一些更改造成的。

现在我甚至无法看一眼新的 Unity,更不用说帮助开发它了。

任何帮助或指导均感激不尽。

答案1

为 Ubuntu 进行开发

感谢您的关注。只是需要澄清几点。没有像 Ubuntu 软件这样的东西(我知道您不是故意的)。所有 Ubuntu 特定的更改也可以在其他发行版中使用。他们的打包者必须将其打包。

Alpha 2 崩溃

Natty 仍在开发中,Xorg 转换仍在进行中。我建议您开始使用稳定版本。用于Maverick (10.10)您的开发工作。这样,您将花更多时间开发应用程序,而不是遇到 alpha 错误。

如果您想为Natty或做出贡献Unity,那么您肯定需要运行 Natty Alphas。

Unity 开发

如果您想为 Unity 开发,那么您需要获取 Natty 并检出源代码。

bzr 分支 lp:unity

结帐分支中有一个文件,用于解释它的依赖项是什么以及如何构建它。

如果你想将你的代码放入 Unity Maintree,你需要签名Canonical Contributer Agreement你不需要每次提交代码时都签名。一旦签名足够

Unity Bitesize 错误

参与的最佳方式是修复 Unity 中的小错误。Jorge Castro 定期发布 Bitesize 明星名单。以下是bitesize 错误列表,您可能想Jorge Castro在 IRC 频道 #omg!ubuntu! 等上与 jcastro 交谈 - 他也经常在询问 Ubuntu 聊天),如果您需要额外的帮助。

这里有一个参与 Unity 开发的文档

在 Ubuntu 上进行开发

正如 Burli 指出的那样,Quickly它是一款出色的开发工具。它可以处理很多事情。在 Ubuntu 上使用它非常容易,因为它与 Launchpad、PPA 等 Ubuntu 开发平台集成

快速处理样板代码并为您提供模板。例如,一个用于打包。每篇 LWN 文章

Released template is ubuntu-project, which automates working 
with Ubuntu-compatible code (using Bazaar for version control, 
Debian packaging, and Launchpad.net Personal Package Archives (PPA) 
for releases).

您还可以阅读这篇 Ars Technica 文章来自 Ryan Paul

选择语言

据我所知,Python 是最受欢迎的开发选择。我可能错了,因为许多人也喜欢使用 Gtk/C 或 Boost/C++ 进行开发。

还有其他语言,例如 Vala,使用它您可以拥有本机应用程序但拥有更高级的语言。

如果您知道C#,您可以使用它来创建使用 Gtk# 作为 UI 的应用程序。

答案2

这有点相关,我在考虑是否要发布它。

对于学生来说,进入开源开发(并看到自己编写的代码出现在 Ubuntu 中)最简单的方法之一就是参与Google 编程之夏。为现有软件添加新功能是你在学校无法获得的经验,但它会改变你对编程的看法。学生参与者会与来自开源项目的导师配对,导师将帮助他们入门并帮助他们解决困难部分。

此外,你还能拿到薪水,简历也会因此而增色不少。这是一次很棒的经历。我强烈建议你去看看。

答案3

Ubuntu Wiki 可能是一个很好的起点。特别是对于 Unity,请查看 Ayatana 项目

https://wiki.ubuntu.com/Ayatana

[编辑] 如果你喜欢 Python,也可以看看 Quickly

https://wiki.ubuntu.com/Quickly

这是一个项目管理系统,具有一些特殊功能,例如在 launchpad.net 上打包和分发源代码,这也是寻找信息的好地方

答案4

好吧,我的答案可能没用,但我唯一遵循的就是:开始阅读 unity(和相关项目,如康普兹马努斯...)来源并尝试做你感兴趣的事情。grep在进行简单的修改时也可能是一个好朋友。

相关内容