特殊:Badtitle/NS100:Signpost/Answers:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Wikibot留言 | 贡献
创建新页面为 '{{From|https://help.ubuntu.com/community/Signpost/Answers}} {{Languages|UbuntuHelp:Signpost/Answers}} #title Ubuntu Signpost: Answers This page contains answers to [[UbuntuHelp:...'
 
Wikibot留言 | 贡献
无编辑摘要
 
第40行: 第40行:


Each of these steps will take a long time to master, and the learning curve can be quite steep, but that's what programming is like.  Once you've become a Perl programmer, here are some other things you can try:
Each of these steps will take a long time to master, and the learning curve can be quite steep, but that's what programming is like.  Once you've become a Perl programmer, here are some other things you can try:
* learn more languages, like Python and awk
* Learn more languages, like Python and awk
* learn toolkits like [http://doc.qtsoftware.com/4.5/index.html Qt] and [http://www.gtk.org/documentation.html GTK+]
* Learn toolkits like [http://doc.qtsoftware.com/4.5/index.html Qt] and [http://www.gtk.org/documentation.html GTK+]
* read the [[UbuntuHelp:Signpost/Destinations#forums-programming|Ubuntu Programming Forums]]
* Read the [[UbuntuHelp:Signpost/Destinations#forums-programming|Ubuntu Programming Forums]]
* look for courses from the [[UbuntuHelp:Signpost/Destinations#web-learning|Ubuntu Community Learning Project]] (currently under development)
* Look for courses from the [[UbuntuHelp:Signpost/Destinations#web-learning|Ubuntu Community Learning Project]] (currently under development)
* read the [[UbuntuHelp:Programming|programming section]] in this wiki
* Read the [[UbuntuHelp:Programming|programming section]] in this wiki
----
----
<<Anchor(help-learn-programming-linux)>>
<<Anchor(help-learn-programming-linux)>>
=== Becoming a Linux programmer ===
=== Becoming a Linux programmer ===
If you've written programs for other operating systems, and have been an Ubuntu user for a while, the main thing to learn is the different Ubuntu libraries.  If you want to write KDE programs, you need to learn [http://doc.qtsoftware.com/4.5/index.html Qt].  If you want to write GNOME programs, you need to learn [http://www.gtk.org/documentation.html GTK+].  The [[UbuntuHelp:Programming|programming section]] in this wiki also has useful information.
If you've written programs for other operating systems, and have been an Ubuntu user for a while, the main thing to learn is the different Ubuntu libraries.  If you want to write KDE programs, you will need to learn [http://doc.qtsoftware.com/4.5/index.html Qt].  If you want to write GNOME programs, you will need to learn [http://www.gtk.org/documentation.html GTK+].  The [[UbuntuHelp:Programming|programming section]] in this wiki also has useful information.
----
----
<<Anchor(help-learn-programming-developer)>>
<<Anchor(help-learn-programming-developer)>>
第77行: 第77行:
=== Contributing to Ubuntu documentation ===
=== Contributing to Ubuntu documentation ===
Contributing documentation is an easy way to give back to Ubuntu.  Here are some of the ways you can add documentation:
Contributing documentation is an easy way to give back to Ubuntu.  Here are some of the ways you can add documentation:
* you can write or edit pages on [[UbuntuHelp:Signpost/Destinations#web-help|this wiki]] (read [[UbuntuHelp:WikiGuide|the wiki guide]] before making large contributions)
* You can write or edit pages on [[UbuntuHelp:Signpost/Destinations#web-help|this wiki]] (read [[UbuntuHelp:WikiGuide|the wiki guide]] before making large contributions)
* you can join the [[UbuntuHelp:Signpost/Destinations#web-docteam|documentation team]], which maintains the official documentation
* You can join the [[UbuntuHelp:Signpost/Destinations#web-docteam|documentation team]], which maintains the official documentation
* You can write guides for the [[UbuntuHelp:Signpost/Destinations#forums|Ubuntu Forums]]
* You can write guides for the [[UbuntuHelp:Signpost/Destinations#forums|Ubuntu Forums]]
There are more suggestions in the [http://www.ubuntu.com/community official page about the Ubuntu community] and [[UbuntuWiki:HelpingUbuntu|official helping guide]], including how to help translate Ubuntu programs.
There are more suggestions in the [http://www.ubuntu.com/community official page about the Ubuntu community] and [[UbuntuWiki:HelpingUbuntu|official helping guide]], including how to help translate Ubuntu programs.
第104行: 第104行:
=== Suggesting a feature in a specific program ===
=== Suggesting a feature in a specific program ===
You need to convince the program's developers to spend their time adding your feature.  This usually involves politely explaining how your feature serves their interests (which may not resemble your interests).  You should file your feature request directly with them, although you can file a request with the Ubuntu maintainers if necessary.
You need to convince the program's developers to spend their time adding your feature.  This usually involves politely explaining how your feature serves their interests (which may not resemble your interests).  You should file your feature request directly with them, although you can file a request with the Ubuntu maintainers if necessary.
Each project has a different methed of contact.  For example, most GNOME projects prefer to be contacted through the [http://bugzilla.gnome.org/ GNOME bug-tracking system] (which also handles feature requests).  Search online for the preferred method of contacting your project.
Each project has a different method of contact.  For example, most GNOME projects prefer to be contacted through the [http://bugzilla.gnome.org/ GNOME bug-tracking system] (which also handles feature requests).  Search online for the preferred method of contacting your project.
If you don't mind having your idea filtered through an intermediary, Ubuntu maintainers can usually be contacted through the program's section in [[UbuntuHelp:Signpost/Destinations#web-launchpad|Launchpad]].
If you don't mind having your idea filtered through an intermediary, Ubuntu maintainers can usually be contacted through the program's section in [[UbuntuHelp:Signpost/Destinations#web-launchpad|Launchpad]].
----
----
第140行: 第140行:
* [[UbuntuHelp:Signpost/Answers|Complete list of of Signpost answers]]
* [[UbuntuHelp:Signpost/Answers|Complete list of of Signpost answers]]
* [[UbuntuHelp:Signpost/Destinations|Complete list of Signpost destinations]]
* [[UbuntuHelp:Signpost/Destinations|Complete list of Signpost destinations]]
* [http://www.ubun2.com Ubuntu Forums Question Answers]


[[category:UbuntuHelp]]
[[category:UbuntuHelp]]

2010年5月20日 (四) 00:12的最新版本

{{#ifexist: :Signpost/Answers/zh | | {{#ifexist: Signpost/Answers/zh | | {{#ifeq: {{#titleparts:Signpost/Answers|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:Signpost/Answers|1|-1|}} | zh | | }}

  1. title Ubuntu Signpost: Answers

This page contains answers to common Ubuntu questions. You can browse the information below, go back to the signpost or see the list of destinations.

Problems and learning

<<Anchor(help-gettingstarted)>>

Help getting started with Ubuntu

<<Anchor(help-use)>>

Help using Ubuntu

Many Ubuntu users volunteer their time to help their fellow users. Here are some of the places you can get help from them:


<<Anchor(help-learn-new)>>

Becoming a power-user

Here are some Ubuntu resources for becoming a power-user:


<<Anchor(help-learn-programming-new)>>

Becoming a programmer

There are as many routes into programming as there are programmers. Here is a gentle approach an Ubuntu user might take:

  1. Use the terminal a lot. Use it all the time, even when it would be easier to use a GUI
  2. When you find yourself reusing lots of commands, save them as shell scripts
  3. As you get better with shell scripts, read the bash "man page" by doing `man bash`
  4. Use techniques like `if/then/else` and `for/do/done` in your scripts
  5. As you get better with shell scripts, read the Perl man page by doing `man perl`
  6. Start writing Perl programs

Each of these steps will take a long time to master, and the learning curve can be quite steep, but that's what programming is like. Once you've become a Perl programmer, here are some other things you can try:


<<Anchor(help-learn-programming-linux)>>

Becoming a Linux programmer

If you've written programs for other operating systems, and have been an Ubuntu user for a while, the main thing to learn is the different Ubuntu libraries. If you want to write KDE programs, you will need to learn Qt. If you want to write GNOME programs, you will need to learn GTK+. The programming section in this wiki also has useful information.


<<Anchor(help-learn-programming-developer)>>

Developing Ubuntu programs

When writing programs for Ubuntu, it's recommended to use the Launchpad hosting platform. Launchpad provides a variety of services for developers - for example, it has a complete section for creating translations. Using these features can help to attract people to your project. You can also try getting help from people that have shown an interest on Brainstorm or Ubuntu Forums. These tools provide the easiest path into Ubuntu development. You might want to activate your Personal Packaging Archive, which will let you package and distribute your program. Once you have packaged your program, getting it accepted means getting help from a MOTU developer. The official instructions are available on the New|Packages page. The Ubuntu Community Learning Project is currently developing courses in Ubuntu programming, which are not yet complete.


<<Anchor(help-bug-unsure)>>

Problems that may or may not be bugs

Ask yourself when this problem started to occur, and what you were doing at that time. Has your monitor been misbehaving ever since you installed your new sound card? Has your wallpaper disappeared ever since you followed a guide that told you to delete files in `/usr`? If there was something unusual you were doing at the time, try undoing it temporarily, to see whether that fixes the problem. If that doesn't fix the problem, try asking in the [[UbuntuHelp:[help-use|usual places]]] for help. If the usual places don't have an answer, see the bug-reporting guide. Even if your problem turns out not to be a bug, most developers look very sympathetically on someone that has tried to fix their problem themselves.


<<Anchor(help-bug-unrepeatable)>>

Hard-to-repeat bugs

You will probably have to report this bug, but first it needs to be repeatable. When developers examine a bug report, their basic process is to test that the bug occurs, tweak something, then test whether the bug went away. In order to fix a bug, they must be able to trigger it reliably tens or hundreds of times. Most bugs in common programs have already been filed by someone else. Before working out how to repeat your problem, find the program in Launchpad, and search in the list of known bugs. If you find your bug, you should read the comments and tick the this affects me too button. If your bug hasn't been reported before, try asking in the Ubuntu Forums to see if anyone else has had a similar issue. They might be able to give you some more detail, or suggest ways to repeat the problem. If nobody else has had the problem, you will have to figure out a set of steps that trigger the bug every time. Once you've done that, see the bug-reporting guide.


<<Anchor(help-bug-report)>>

Reporting a bug

If a program does the same thing wrong every time, then you should report it to the program's developers. See the bug-reporting guide for details.

Contributing to Ubuntu

<<Anchor(contribute-documentation)>>

Contributing to Ubuntu documentation

Contributing documentation is an easy way to give back to Ubuntu. Here are some of the ways you can add documentation:

There are more suggestions in the official page about the Ubuntu community and official helping guide, including how to help translate Ubuntu programs.


<<Anchor(contribute-help)>>

Supporting other users

The best way to learn is to teach. Helping out other users will help you improve your own computing skills. Here are some ways you can support others:

The official Community page has more ways you can help.


<<Anchor(contribute-artwork)>>

Making Ubuntu Art

To get involved in Ubuntu artwork, have a look at the current Artwork Team page. Then have a chat with some other artists on IRC, or introduce yourself on the mailing list.


<<Anchor(contribute-development)>>

Helping out with Ubuntu development

If you're interested in a specific project, you should contact the maintainer for that project and ask how you can help out. Go to the project's page in Launchpad, and see what's available. Some projects provide mentoring for new developers. If you would like to help Ubuntu development more generally, the Ubuntu BugSquad always needs help triaging bug reports. If you would like to create a new program, have a look at the resources for [[UbuntuHelp:[help-learn-programming-developer|developing Ubuntu programs]]]. There are more suggestions in the official page about the Ubuntu community and official helping guide, including how to help test new software and hardware.


<<Anchor(contribute-feature-asking-program)>>

Suggesting a feature in a specific program

You need to convince the program's developers to spend their time adding your feature. This usually involves politely explaining how your feature serves their interests (which may not resemble your interests). You should file your feature request directly with them, although you can file a request with the Ubuntu maintainers if necessary. Each project has a different method of contact. For example, most GNOME projects prefer to be contacted through the GNOME bug-tracking system (which also handles feature requests). Search online for the preferred method of contacting your project. If you don't mind having your idea filtered through an intermediary, Ubuntu maintainers can usually be contacted through the program's section in Launchpad.


<<Anchor(contribute-feature-asking-ubuntu-vague)>>

Suggesting a feature in Ubuntu without taking it directly to developers

You can present and vote on ideas in the Ubuntu Brainstorm. This gives you an idea of how popular your idea is, some of the surrounding issues, and whether any similar ideas have been proposed. This can help you create a specific suggestion to present to developers, or can help other people make a case that a feature deserves attention.


<<Anchor(contribute-feature-asking-ubuntu-specific)>>

Presenting, defending, and developing an idea with Ubuntu developers

You need to convince an Ubuntu developer to spend their time adding your feature. This usually involves politely explaining how your feature serves their interests (which may not resemble your interests). You should contact the ubuntu-devel-discuss mailing list about your idea. There you can discuss your idea, and any implications you hadn't considered. If your idea is well-received, you will most likely be asked to write a blueprint on Launchpad, describing your idea. However, if you aren't willing to work on the idea yourself, you will need to make sure that a specific individual is interested in implementing your idea.


<<Anchor(contribute-feature-offering-advice)>>

I would like advice on whether and how to implement my idea

You should contact the ubuntu-devel-discuss mailing list about your idea. If you make it clear that you're willing to put in the work, they will be very happy to discuss your idea. If your idea is well-received, you should register a blueprint for it, and start a project in Launchpad. Alternatively, you can ask in the #ubuntu-motu chat room. Although #ubuntu-motu is not intended for general development, the people there are usually happy to help if you make it clear that you're willing to put in the work.

Other

<<Anchor(news)>>

I would like to keep up-to-date with new developments in Ubuntu

Here are some Ubuntu resources for getting information about Ubuntu's progress:


<<Anchor(signpost)>>

More Signpost Links

If this web page didn't help, there are a couple of places where you can ask someone for advice:

If you'd rather browse the signpost, you can look at these pages: