30 Mar 2015

feedPlanet Ubuntu

Dimitri John Ledkov: Boiling frog, or when did we loose it with /etc ?

$ sudo find /etc -type f | wc -l
2794

Stateless

When was the last time you looked at /etc and thought - "I honestly know what every single file in here is". Or for example had a thought "Each file in here is configuration changes that I made". Or for example do you have confidence that your system will continue to function correctly if any of those files and directories are removed?

Traditionally most *NIX utilities are simple enough utilities, that do not require any configuration files what's so ever. However most have command line arguments, and environment variables to manipulate their behavior. Some of the more complex utilities have configuration files under /etc, sometimes with "layer" configuration from user's home directory (~/). Most of them are generally widely accepted. However, these do not segregate upstream / distribution / site administrator / local administrator / user configuration changes. Most update mechanisms created various ways to deal with merging and maintaining the correct state of those. For example both dpkg & RPM (%config) have elaborate strategies and policies and ways to deal with them. However, even today, still, they cause problems: prompting user for whitespace changes in config files, not preserving user changes, or failing to migrate them.

I can't find exact date, but it has now been something like 12 years since XDG Base directory specification was drafted. It came from Desktop Environment requirements, but one thing it achieves is segregation between upstream / distro / admin / user induced changes. When applications started to implement Base directory specification, I started to feel empowered. Upstream ships sensible configs in /usr, distribution integrators ship their overlay tweaks packaged in /usr, my site admin applies further requirements in /etc, and as I user I am free to improve or brake everything with configs in ~/. One of the best things from this setup - no upgrade prompts, and ease of reverting each layer of those configs (or at least auditing where the settings are coming from).

However, the uptake of XDG Base directory spec is slow / non-existing among the core components of any OS today. And at the same time /etc has grown to be a dumping ground for pretty much everything under the sun:
  • Symlink farms - E.g. /etc/rc*.d/*, /etc/systemd/system/*.wants/*, /etc/ssl/certs/*
  • Cache files - E.g. /etc/ld.so.cache
  • Empty (and mandatory) directories
  • Empty (and mandatory) "configuration" files. - E.g. whitespace & comments only
Let's be brutally honest and say that none of the above belongs in /etc. /etc must be for end-user configuration only, made by the end user alone and nobody else (or e.g. an automation tool driven by the end-user, like puppet).

Documentation of available configuration options and syntax to specify those in the config files should be shipped... in the documentation. E.g. man pages, /usr/share/doc, and so on. And not as the system-wide "example" config files. Absence of the files in /etc must not be treated as fatal, but a norm, since most users use default settings (especially for the most obscure options). Lastly compiled-in defaults should be used where possible, or e.g. layer configuration from multiple locations (e.g. /usr, /etc, ~/ where appropriate).

Above observations are not novel, and shared by most developers and users in the wider open source ecosystem. There are many projects and concepts to deal with this problem by using automation (e.g. puppet, chef), by migrating to new layouts (e.g. implementing / supporting XDG base dir spec), using "app bundles" (e.g. mobile apps, docker), or fully enumerating/abstracting everything in a generic manner (e.g. NixOS). Whilst fixing the issue at hand, these solutions do increase the dependency on files in /etc to be available. In other words we grew a de-facto user-space API we must not break, because modifications to the well known files in /etc are expected to take effect by both users and many administrator tools.

Since August last year, I have joined Open Source Technology Center at Intel, and have been working on Clear Linux* Project for Intel Architecture. One of the goals we have set out is to achieve stateless operation - that is to have empty /etc by default, reserved for user modification alone, yet continuing to support all legacy / well-known configuration paths. The premise is that all software can be patched with auto-detection, built-in defaults or support for layered configuration to achieve this. I hope that this work would interest everyone and will be widely adopted.

Whilst the effort to convert everything is still on going, I want to discuss a few examples of any core system.

Shadow

The login(1) command, whilst having built-in default for every single option exits with status 1, if it cannot stat(2) login.defs(5) file.

The passwd(1) command will write out the salted/hashed password in the passwd(5) file, rather than in shadow(5), if it cannot stat the shadow(5) file. There is similar behavior with gshadow. I found it very ironic, that upstream project "shadow" does not use shadow(5) by default.

Similarly, stock files manipulated by passwd/useradd/groupadd utilities are not created, if missing.

Some settings in login.defs(5) are not applicable, when compiled with PAM support, yet present in the default shipped login.defs(5) file.

Patches to resolve above issues are undergoing review on the upstream mailing list.

DBus

In xml based configuration, `includedir' elements are mandatory to exist on disk, that is empty directory must be present, if referenced. If these directories are non-existant, the configuration fails to load and the system or session bus are not started.

Similarly, upstream have general agreement with the stateless concept and patches to move all of dbus default configurations from /etc to /usr are being reviewed for inclusion at the bug tracker. I hope this change will make into the 1.10 stable release.

GNU Lib C

Today, we live in a dual-stack IPv4 and IPv6 world, where even the localhost has multiple IP addresses. As a slightly ageist time reference, the first VCS I ever used was git. Thus when I read below, I get very confused:

$ cat /etc/host.conf
# The "order" line is only used by old versions of the C library.
order hosts,bind
multi on

Why not simply do this:

--- a/resolv/res_hconf.c
+++ b/resolv/res_hconf.c
@@ -309,6 +309,8 @@ do_init (void)
if (hconf_name == NULL)
hconf_name = _PATH_HOSTCONF;

+ arg_bool (ENV_MULTI, 1, "on", HCONF_FLAG_MULTI);
+
fp = fopen (hconf_name, "rce");
if (fp)
{


There are still many other packages that needed fixes similar to above. Stay tuned for further stateless observations about Glibc, OpenSSH, systemd and other well known packages.

In the mean time, you can try out https://clearlinux.org/ images that implement above and more already. If you want to chat about it more, comment on G+, find myself on irc - xnox @ irc.freenode.net #clearlinux and join our mailing list to kick the conversation off, if you are interested in making the world more stateless.

ps.
I am a professional Linux Distribution developer, currently employed by Intel, however the postings on this site are my own and don't necessarily represent Intel's or any other past/present/future employer positions, strategies, or opinions.

* Other names and brands may be claimed as the property of others


30 Mar 2015 3:15pm GMT

Kubuntu Wire: Kubuntu Sweaters Added to Hellotux Shop

kubuntu_sweater_black_1

Hellotux donates to Kubuntu with every purchase.

30 Mar 2015 1:42pm GMT

Kubuntu: Kubuntu Sweaters Added to Hellotux Shop

Hellotux have added sweaters to their Kubuntu branded clothes range. Donations to Kubuntu with every purchase.

30 Mar 2015 12:44pm GMT

Mathieu Trudel: Preseeding installations

In early February, I completed a move from Canonical's Phonedations team to the Foundations team. Part of this new work means debugging a lot of different failure cases in the installer, grub, and other early boot or low-level sofware, some of which requiring careful reproduction steps and probably quite a few install runs in VMs on on hardware.

Given the number of installations I do I've started to keep around preseed files; the text files used to configure automatic installations. I've made them available at http://people.canonical.com/~mtrudel/preseed/ so that they can be reused as necessary. Most of these preseed files make heavy use of the network to get the installation data and packages from the web, so they will need to be tweaked for use in an isolated network. They are annotated enough that it should be possible for anyone to improve on them to suit their own needs. I will add to these files as I run across things to test and automate. I hope we can use some of them soon in new automated QA tests where appropriate, so that it can help catch regressions.

For those not familiar with preseeding, these files can be used and referred to in the installation command-line when starting from a network PXE boot or a CDROM or pretty much any other installation medium. They are useful to tell the installer how you want the installation to be done without having to answer all of the individual questions one by one in the forms in ubiquity or debian-installer. The installer will read the preseed file and use these answers without showing the prompts. This also means some of the files I make available should not be used lightly, as they will happily wipe disks without asking. You've been warned :)

To use this, you'll want to specify "preseed/file=/path/to/file" (or just file=) for a file directly accessible as a file system or through TFTP, or "preseed/url=http://URI/to/file" (or just url=) if it's available using HTTP. On d-i installs, this means you may also need to add "auto=true priority=critical" to avoid having to fill in language settings and the like (since the preseeds are typically only read after language, country, and network have been configured); and on ubiquity installs (for example, using a CD), you'll want to add 'only-ubiquity automatic-ubiquity' to the kernel command-line, again to keep the automated, minimal look and feel.

I plan on writing another entry soon on how to debug early boot issues in VMs or hardware using serial. Stay tuned.

30 Mar 2015 1:29am GMT

29 Mar 2015

feedPlanet Ubuntu

Carla Sella: Planet Ubuntu-it RSS feed scope

So now Planet Ubuntu-it has is own Ubuntu Phone RSS feed scope.

I created it using scopecreator command as I wrote in my previous article: My first Ubuntu Touch Scope.


Planet Ubuntu-it RSS feed scope
Planet Ubuntu-it RSS feed scope



Planet Ubuntu-it RSS feed scope
Planet Ubuntu-it RSS feed scope




Planet Ubuntu-it RSS feed scope

29 Mar 2015 8:06pm GMT

Ronnie Tucker: There’s an app for that…

… but it's only in the Ubuntu Store.

screenshot20153929_113938057

Yes, indeed. We have an Ubuntu phone web app.

It's not much. It's really just a viewer for the website, but it's quick way of checking the site and downloading PDF/EPUB issues to your device.

To view the issues you'll need to install Document Viewer (if it's not already on your device) also from the Ubuntu Store.

29 Mar 2015 11:50am GMT

Forums Council: Ubuntu Membership

It has been sometime since we last talked about Ubuntu Membership through forum contributions.

Applying is quite simple and we have a dedicated forum area just for it. The process is detailed here and summarized at.

In addition to the normal Ubuntu Member benefits as a forum Ubuntu Member you'll be first to know when things are changing and can take a part in forming the forum's moderation team.

So, if you have been contributing to the forums for a while and are interested in becoming a Ubuntu member, please put together a wiki and Launchpad page, sign the Ubuntu Code of Conduct and dive in.


29 Mar 2015 10:51am GMT

28 Mar 2015

feedPlanet Ubuntu

Luke Faraone: Key transition

I'm migrating PGP keys from 0xF9FDD506 to 0x0C14A470. If you signed my old key, I would appreciate you signing my new key as well. Feel free to ping me with questions.


Accordingly, I've published a transition statement signed by both keys.

28 Mar 2015 7:55pm GMT

Matt Zimmerman: What I think about thought

Only parts of us will ever
touch o̶n̶l̶y̶ parts of others -
one's own truth is just that really - one's own truth.
We can only share the part that is u̶n̶d̶e̶r̶s̶t̶o̶o̶d̶ ̶b̶y̶ within another's knowing acceptable t̶o̶ ̶t̶h̶e̶ ̶o̶t̶h̶e̶r̶-̶t̶h̶e̶r̶e̶f̶o̶r̶e̶ so one
is for most part alone.
As it is meant to be in
evidently in nature - at best t̶h̶o̶u̶g̶h̶ ̶ perhaps it could make
our understanding seek
another's loneliness out.

- unpublished poem by Marilyn Monroe, via berlin-artparasites

This poem inspired me to put some ideas into words this morning, an attempt to summarize my current working theory of consciousness.

Ideas travel through space and time. An idea that exists in my mind is filtered through my ability to express it somehow (words, art, body language, …), and is then interpreted by your mind and its models for understanding the world. This shifts your perspective in some way, some or all of which may be unconscious. When our minds encounter new ideas, they are accepted or rejected, reframed, and integrated with our existing mental models. This process forms a sort of living ecosystem, which maintains equilibrium within the realm of thought. Ideas are born, divide, mutate, and die in the process. Language, culture, education and so on are stable structures which form and support this ecosystem.

Consciousness also has analogues of the immune system, for example strongly held beliefs and models which tend to reject certain ideas. Here again these can be unconscious or conscious. I've seen it happen that if someone hears an idea they simply cannot integrate, they will behave as if they did not hear it at all. Some ideas can be identified as such a serious threat that ignoring them is not enough to feel safe: we feel compelled to eliminate the idea in the external world. The story of Christianity describes a scenario where an idea was so threatening to some people that they felt compelled to kill someone who expressed it.

A microcosm of this ecosystem also exists within each individual mind. There are mental structures which we can directly introspect and understand, and others which we can only infer by observing our thoughts and behaviors. These structures communicate with each other, and this communication is limited by their ability to "speak each other's language". A dream, for example, is the conveyance of an idea from an unconscious place to a conscious one. Sometimes we get the message, and sometimes we don't. We can learn to interpret, but we can't directly examine and confirm if we're right. As in biology, each part of this process introduces uncountable "errors", but the overall system is surprisingly robust and stable.

This whole system, with all its many minds interacting, can be thought of as an intelligence unto itself, a gestalt consciousness. This interpretation leads to some interesting further conclusions:

Naturally, this is by no means an original idea (can such a thing exist?). It is my own take on the subject, informed both consciously and unconsciously by my own study, first-hand experience, conversations I've had with others, and so on. It's informed by the countless thinkers who have influenced me. Its expression is limited by my ability to write about it in a way that makes sense to other people.
Maybe some of this makes sense to you, and maybe I seem insane, or maybe both. Hopefully you don't find that you have an inexplicable unconscious desire to kill me!


28 Mar 2015 7:42pm GMT

Adnane Belmadiaf: Running Dekko in LXC

I was approached by Daniel Chapman to help with the new message view in Dekko(Ubuntu Touch email client) which uses Oxide Webview to render the message details. Dekko is using the new Ubuntu SDK 1.1 which is not present in the LTS version 14.04, we have tried to make it run but it was impossible.

LXC logo

Setup LXC

To have a clear idea on how LXC works and how to setup your environment make sure you check Nekhelesh's post,

Unpriviledged container

To run Dekko we need to create an unpriviledged container using Utopic 14.10, and let's name it utopicdev :

$ lxc-create --template download --name utopicdev -- --dist ubuntu --release utopic --arch i386
$ sudo chown -R 1000:1000 ~/.local/share/lxc/utopicdev/rootfs/home/ubuntu

Running the container

So at this point i had some issues with cgmanager :

$ lxc-start -n utopicdev
lxc_container: cgmanager.c: lxc_cgmanager_create: 299 call to cgmanager_create_sync failed: invalid request
lxc_container: cgmanager.c: lxc_cgmanager_create: 301 Failed to create hugetlb:utopicdev
lxc_container: cgmanager.c: cgm_create: 646 Error creating cgroup hugetlb:utopicdev
lxc_container: start.c: lxc_spawn: 861 failed creating cgroups
lxc_container: start.c: __lxc_start: 1080 failed to spawn 'utopicdev'
lxc_container: lxc_start.c: main: 342 The container failed to start.
lxc_container: lxc_start.c: main: 346 Additional information can be obtained by setting the --logfile and --logpriority options.

I fixed it by restarting my machine only, now let's run it in daemon mode :

$ lxc-start -n utopicdev -d

Using the container

$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY /home/ubuntu/dekko/__build/dekko

When trying to run it you get the following error :

$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY /home/ubuntu/dekko/__build/dekko
Cannot chdir into /proc/ directory: Permission denied
[0325/151501:ERROR:setuid_sandbox_client.cc(195)] Failed to read from chroot pipe: Not a directory
[0325/151501:FATAL:zygote_main_linux.cc(549)] Check failed: EnterSuidSandbox(setuid_sandbox, post_fork_parent_callback). Failed to enter setuid sandbox

You get this error is because dekko is using Oxide to render message view which uses setuid sandbox, using OXIDE_DISABLE_SETUID_SANDBOX=1 we can disable it since the LXC container already provides the isolation.

$ lxc-attach --clear-env -n utopicdev -- sudo -u ubuntu -i env DISPLAY=$DISPLAY OXIDE_DISABLE_SETUID_SANDBOX=1 /home/ubuntu/dekko/__build/dekko

Dekko running in Ubuntu 14.04

Note that i am running the compiled version, so you need to install the SDK and compile dekko first.

28 Mar 2015 4:35pm GMT

27 Mar 2015

feedPlanet Ubuntu

Benjamin Kerensa: Calling Out OkCupid

OkCupid Blocks FirefoxSo the other day, Indiana's governor signed a bill into law that the Republican controlled legislature passed called the Religious Freedom Restoration Act. The reality of this bill is it has nothing to do with freedom of religion and everything to do with legalizing discrimination.

Anyways, to the point, I hate to open a can of worms but when I heard this news I thought back to this same time last year and remembered how gung ho OkCupid was over Mozilla's appointment of Brendan Eich because of his personal beliefs and that they ultimately decided to block all Firefox users.

I don't really think OkCupid should block Indiana but their lack of even a public tweet or statement in opposition of this legislation leads me back to my original conclusion that they were just riding the media train for their own benefit and not because they support the LGBT community.

If you are going to be about supporting the LGBT community, try to at least be consistent in that support and not just do it when it will make you look good in the media!

27 Mar 2015 10:15pm GMT

Simos Xenitellis: Πως φτιάχνουμε εύκολα app (webapp) για το Ubuntu Phone!

Θα δούμε πως μπορούμε να φτιάξουμε εύκολα ένα webapp (εφαρμογή/app που εμπεριέχει mobile website) στο Ubuntu Touch. Για τα βήματα αυτά δεν χρειάζεται να έχουμε καν το κινητό.

Ξεκινούμε με το να βρούμε ένα δικτυακό τόπο που διαθέτει μια έκδοση για κινητά (mobile website). Για το παράδειγμά μας, χρησιμοποιούμε το www.real.gr.

Καθώς βλέπουμε το www.real.gr, παρατηρούμε (στο τέλος της σελίδας) να κάνει αναφορά για το RealMobile και τον ιστότοπο http://www.realmobile.gr/ Όταν επισκεφούμε το σύνδεσμο αυτό, βλέπουμε ότι είναι ειδική έκδοση mobile. Αυτό είναι το στοιχείο που αρκεί για να φτιάξουμε το webapp μας!

Για τη δημιουργία ενός απλού webapp για το Ubuntu Touch, θα χρησιμοποιήσουμε τη σελίδα https://developer.ubuntu.com/webapp-generator/ που παράγει το πακέτο click με την εφαρμογή, και μετά πάμε στο https://myapps.developer.ubuntu.com για να προσθέσουμε την εφαρμογή. Ας δούμε τα βήματα με λεπτομέρεια.

1. Πάμε στο https://developer.ubuntu.com/webapp-generator/ και συνδεόμαστε με το λογαριασμό μας στο Ubuntu One. Αν δεν έχετε ήδη λογαριασμό, πατήστε να δημιουργήσετε. Όταν το κάνετε, θα δείτε μια σελίδα με τίτλο «Create your Webapp package».

2. Συμπληρώνουμε τη σελίδα όπως παρακάτω.

Webapp creator for Ubuntu Phone

Webapp creator for Ubuntu Phone

Συγκεκριμένα,

  1. App name, το όνομα της εφαρμογής. Είναι ένα αλφαριθμητικό που το βλέπει ο χρήστης στη λίστα εφρμογών. Επιλέγουμε κάτι που βοηθάει την ορατότητα της εφαρμογής. Οι εφαρμογές ταξινομούντε αλφαβητικά και έχει νόημα στο παράδειγμά μας να επιλέξουμε κάτι που να ξεκινάει με Real.
  2. Webapp URL, είναι το σύνδεσμος (URL) για το φορητό δικτυακό τόπο. Στο παράδειγμά μας, όταν επισκεπτόμαστε το www.realmobile.gr με τον περιηγητή του Ubuntu μας, μας μεταφέρει αυτόματα στο www.realmobile.gr/msimple όταν ολοκληρωθεί η φόρτωση της σελίδας. Οπότε, επέλεξα να βάλω το δεύτερο URL. Δεν έχει ουσιαστική σημασία ποιο θα βάλουμε, αρκεί να φορτώνει στο φορητό δικτυακό τόπο.
  3. App Icon, το εικονίδιο της εφαρμογής, σε αρχείο PNG και σε διαστάσεις 256x256. Εδώ πήρα το λογότυπο από το real.gr και το επεξεργάστηκα στο GIMP ώστε να παραχθεί η εικόνα
    Λογότυπο Real.gr (256x256)

    Λογότυπο Real.gr (256x256)

  4. App options, οι επιλογές που ταιριάζουν στο δικτυακό τόπο για χρήση ως webapp. Κρατήστε πατημένο το Ctrl για να επιλέξτε με το ποντίκι περισσότερα από ένα. Για τις επιλογές έχουμε:
    1. Store cookies, αν θα αποθηκεύει cookies ώστε να φαίνονται οι σύνδεσμοι που έχουμε επισκεφθεί. Ακόμα, αν ο δικτυακός τόπος χρησιμοποιεί cookies για να αναγνωρίζει τους επισκέπτες, τότε η επιλογή χρειάζεται. Γενικά, όταν στο webapp δεν υπάρχουν πληροφορίες που θέλουμε να διατηρούνται και να γνωρίζει ο δικτυακός τόπος, τότε δεν επιλέγουμε το Store cookies.
    2. Show header, αν θα εμφανίζεται στο πάνω μέρος σε μια μπάρα το όνομα του δικτυακού τόπου.
    3. Show back and forward buttons, αν θα εμφανίζονται στο πάνω μέρος σε μια μπάρα κουμπιά για εμπρός και πίσω. Αν δεν το επιλέγουμε, τότε δεν θα έχουμε δυνατότητα να πάμε πίσω/εμπρός καθώς επισκεπτόμαστε σελίδες στο webapp. Εδώ θα το απενεργοποιούσαμε αν το webapp είναι τέτοιο που δεν χρειάζεται τέτοια κουμπιά, ή αν παρέχει το ίδιο τέτοια κουμπιά.
    4. Run fullscreen, αν το webapp θα τρέχει σε πλήρη οθόνη. Αν δεν το επιλέξουμε, τότε θα φαίνεται η (πάνω) μπάρα κατάστασης του Ubuntu Touch που δείχνει την ώρα, μπαταρία, δίκτυα, κτλ. Αν το επιλέξουμε, τότε το webapp θα λειτουργεί σε πλήρη οθόνη. Καμία επιλογή Μόνο με Run fullscreen Μόνο με Show header, Run fullscreen Show header, Show back/forward buttons, Run fullscreen
  5. Developer namespace, είναι το όνομα χρήστη που έχουμε στο Launchpad/Ubuntu One καθώς φτιάξαμε το λογαριασμό μας. Μπορεί να μπει και ο δικτυακός μας τόπος, αν έχουμε.
  6. Maintainer full name, το όνομά μας.
  7. Maintainer e-mail, το ε-μαίηλ μας.

Όταν συμπληρώσουμε τη σελίδα, πατάμε στο Submit για να δημιουργηθεί το webapp μας. Θα δημιουργηθεί ένα αρχείο με κατάληξη .click το οποίο και αποθηκεύουμε στο δίσκο μας.

Έπειτα, μπαίνουμε στη διαδικασία αποστολής της εφαρμογής στο Ubuntu Store.

Επισκεπτόμαστε στη σελίδα https://myapps.developer.ubuntu.com/ και συνδεόμαστε με το λογαριασμό μας στο Launchpad/Ubuntu One. Θα εμφανιστεί η αρχική σελίδα με τις εφαρμογές μας. Αρχικά θα είναι κενή και θα φαίνεται μόνο το κουμπί New application. Το πατάμε και βλέπουμε τη λίστα με τις βασικές πληροφορίες εφαρμογής.

Συμπλήρωση βασικών στοιχείων εφαρμογής

Συμπλήρωση βασικών στοιχείων εφαρμογής

Συμπληρώνουμε όπως

  1. Your application, εδώ πατάμε το πλήκτρο Select file και επιλέγουμε το αρχείο της εφαρμογής που δημιουργήσαμε προηγουμένως.
  2. Changelog, εδώ γράφουμε τις αλλαγές με την προηγούμενη έκδοση. Μιας και αυτή είναι η πρώτη έκδοση, γράφουμε κάτι τυπικό όπως Initial upload.
  3. Department, εδώ είναι το είδος της εφαρμογής που φτιάξαμε. Μιας και το real.gr είναι ειδησεογραφικό, βάζουμε από τη λίστα News & Magazines.
  4. Support URL, εδώ βάζουμε κάποιο δικτυακό τόπο για υποστήριξη. Μιας και δεν έχουμε επικοινωνήσει με τον ίδιο το δικτυακό τόπο για τη δημιουργία αυτής της εφαρμογής, βάζουμε κάτι δικό μας. Μια καλή επιλογή είναι το ημαιλ μας.
  5. License, η άδεια διάθεσης της εφαρμογής μας. Μια καλή επιλογή είναι GNU GPL v3.

Εκτός από τις βασικές επιλογές, υπάρχουν και προαιρετικές. Συγκεκριμένα,

Συμπλήρωση προαιρετικών στοιχείων εφαρμογής

Συμπλήρωση προαιρετικών στοιχείων εφαρμογής

Συμπληρώνουμε όπως

  1. Application name, το όνομα της εφαρμογής, όπως το είχαμε βάλει πιο πριν.
  2. Tagline, περιγραφή της εφαρμογής σε μια γραμμή.
  3. Description, περιγραφή της εφαρμογής. Αυτό θα φανεί όταν ο χρήστης εντοπίσει την εφαρμογή μας στο Κατάστημα Ubuntu. Είναι καλό να περιγράψουμε την εφαρμογή μας αρκετά καλά.
  4. Keywords, διάφορες λέξεις-κλειδιά για την εφαρμογή μας. Είναι καλό να βάλουμε αρκετές λέξεις ώστε η εφαρμογή μας να μπορεί να εντοπιστεί εύκολα στις αναζητήσεις.

Στο τέλος της σελίδας υπάρχουν οι τελικές επιλογές,

Συμπλήρωση τελικών προαιρετικών στοιχείων εφαρμογής

Συμπλήρωση τελικών προαιρετικών στοιχείων εφαρμογής

Συγκεκριμένα,

  1. Icon 256, το εικονίδιο που φτιάξαμε πιο πριν. Εδώ μπορεί να χρειάζεται να το επαναλάβουμε αν και το περιέχει το αρχείο της εφαρμογής click.
  2. Screenshots, διάφορα στιγμιότυπα οθόνης από την εφαρμογή μας. Για τώρα είναι κενό. Όταν η εφαρμογή μπει στο Κατάστημα Ubuntu, την ξεκινούμε και τότε λαμβάνουμε στιγμιότυπο (πατάμε ταυτόχρονα Ήχος+/Ήχος- για τη λήψη στιγμιοτύπου).
  3. Application website, δικτυακός τόπος με τον κώδικα της εφαρμογής μας. Εδώ το αφήνουμε κενό.
  4. Price, η τιμή της εφαρμογής μας. Το αφήνουμε στο Make it free.

Πατάμε το κουμπί Submit και αυτό ήταν!

Η εφαρμογή έχει σταλθεί, και αναμένουμε να ελεγχθεί.

Η εφαρμογή έχει σταλθεί, και αναμένουμε να ελεγχθεί.

Εδώ ολοκληρώθηκε η αποστολή των στοιχείων και αναμένουμε να ολοκληρωθεί το review (έλεγχος) της εφαρμογής ώστε να γίνει δεκτή.

Για αρκετές εφαρμογές, ο έλεγχος ολοκληρώνεται άμεσα και το ίδιο συμβαίνει και με την εφαρμογή μας. Οπότε πατάμε στο σύνδεσμο check again για να φορτώσει η σελίδα ξανά.

Η εφαρμογή μας είναι διαθέσιμη στο Κατάστημα Ubuntu!

Η εφαρμογή μας είναι διαθέσιμη στο Κατάστημα Ubuntu!

Και αυτό ήταν! Η εφαρμογή μας είναι διαθέσιμη πια στο Κατάστημα Ubuntu. Αναφέρει Published με το χρώμα της μπίλιας να είναι πράσινο.

Αν έχουμε κινητό με Ubuntu Touch, μπορούμε να εγκαταστήσουμε άμεσα την εφαρμογή.

Μπορούμε να δούμε την εφαρμογή μας στον κατάλογο εφαρμογών στο δικτυακό τόπο https://appstore.bhdouglass.com/apps Εδώ, η ενημέρωση γίνεται κάθε λίγες ώρες, οπότε η εφαρμογή μας θα φανεί μετά από λίγο. Για την παραπάνω εφαρμογή, ο σύνδεσμος με τα στοιχεία είναι https://appstore.bhdouglass.com/app/realmobilegr-bkm.simosx

Οπότε, μπορεί ο καθένας να βρει ένα δικτυακό τόπο που να παρέχει mobile website, και να φτιάξει ένα απλό webapp. Για τους δικτυακούς τόπους στην Ελλάδα, ελάχιστοι έχουν webapp οπότε είναι ευκαιρία να την φτιάξετε εσείς!

No comment

Related posts:

  1. Flash sale για το κινητό bq Aquaris E4.5 (Ubuntu Edition)
  2. Οδηγοί βίντεο για εγκατάσταση/χρήση Ubuntu Linux
  3. Δεύτερο flash sale για το bq Aquaris E4.5 (ubuntu edition): σήμερα Πέμπτη, 19 Φεβ 2015 (10πμ ώρα Ελλάδας)

27 Mar 2015 8:50pm GMT

Ronnie Tucker: FCM#95 has also arrived!

This month:
* Command & Conquer
* How-To : Program in Python, LibreOffice, and Using LaTeX
* Graphics : Inkscape.
* Linux Labs: Syncthing
* Review: BQ Aquaris E4.5 Ubuntu Phone & Able2Extract Pro 9
* Competition: WIN a copy of Able2Extract Pro 9
* Ubuntu Games: Penumbra Necrologue & Perfect Golf
* My Story special on handling molecules in Linux
plus: News, Arduino, Q&A, and soooo much more.

Get it while it's hot!
http://fullcirclemagazine.org/issue-95/

27 Mar 2015 8:10pm GMT

Jonathan Riddell: Kubuntu Beta 2 is Out

Kubuntu Vivid Beta 2 is out. This is the first major distro to ship with Plasma 5 so it'll be the first time many people get to see our lovely new desktop. Scary.

We have 24 bugs I've milestoned and 1 month to go until release, let's see how low we can go. Many of the bugs are easy enough to fix and just need twiddling the bits in the packaging. Some are more complex. If you want to help out come and join us in #kubuntu-devel we'd appreciate just testing the ISOs for sanity.

Alas upgrade from 14.10 is currently broken due to a bug which is probably in apt , fix soon I hope.

facebooktwittergoogle_pluslinkedinby feather

27 Mar 2015 1:41pm GMT

The Fridge: Ubuntu 15.04 (Vivid Vervet) Final Beta released

The Ubuntu team is pleased to announce the final beta release of Ubuntu 15.04 Desktop, Server, Cloud, and Core products.

Codenamed "Vivid Vervet", 15.04 continues Ubuntu's proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution. The team has been hard at work through this cycle, introducing new features and fixing bugs.

This beta release includes images from not only the Ubuntu Desktop, Server, Cloud, and Core products, but also the Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio and Xubuntu flavours. In addition to the usual suspects, we're also welcoming a new flavour to the family this cycle with Ubuntu MATE.

The beta images are known to be reasonably free of showstopper CD build or installer bugs, while representing a very recent snapshot of 15.04 that should be representative of the features intended to ship with the final release expected on April 23rd, 2015.

There are, however, two bugs in this beta serious enough that it's worth calling them out in the release announcement. Both bugs affect all flavours, are considered high priority, and will be addressed in upcoming daily builds:

  1. After installation is complete, clicking the "reboot now" button will eject your installation medium but then fail to reboot. The simple workaround for this is to manually turn off or reset your computer and then boot into the freshly installed system.
  2. When doing an OEM installation, the OEM user will not be removed at the end of the prepare-to-ship phase. Because of this, it is not recommended that oem-config be used with this beta, except for testing purposes.

Ubuntu, Ubuntu Server, Ubuntu Core, Cloud Images

Utopic Final Beta includes updated versions of most of our core set of packages, including a current 3.19.2 kernel, the much-anticipated switch to systemd, and much more.

To upgrade to Ubuntu 15.04 Final Beta from Ubuntu 14.10, follow these instructions:

https://help.ubuntu.com/community/VividUpgrades

The Ubuntu 15.04 Final Beta images can be downloaded at:

http://releases.ubuntu.com/15.04/ (Ubuntu and Ubuntu Server)

Additional images can be found at the following links:

The full release notes for Ubuntu 15.04 Final Beta can be found at:

https://wiki.ubuntu.com/VividVervet/ReleaseNotes

Kubuntu

Kubuntu is the KDE based flavour of Ubuntu. It uses the Plasma desktop and includes a wide selection of tools from the KDE project.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/kubuntu/releases/15.04/beta-2/

More information on Kubuntu Final Beta can be found here:

https://wiki.ubuntu.com/VividVervet/Beta2/Kubuntu

Lubuntu

Lubuntu is a flavor of Ubuntu that targets to be lighter, less resource hungry and more energy-efficient by using lightweight applications and LXDE, The Lightweight X11 Desktop Environment, as its default GUI.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/lubuntu/releases/15.04/beta-2/

More information on Lubuntu Final Beta can be found here:

https://wiki.ubuntu.com/VividVervet/Beta2/Lubuntu

Ubuntu GNOME

Ubuntu GNOME is a flavor of Ubuntu featuring the GNOME desktop environment.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/ubuntu-gnome/releases/15.04/beta-2/

More information on Ubuntu GNOME Final Beta can be found here:

https://wiki.ubuntu.com/VividVervet/Beta2/UbuntuGNOME

UbuntuKylin

UbuntuKylin is a flavor of Ubuntu that is more suitable for Chinese users.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/ubuntukylin/releases/15.04/beta-2/

More information on UbuntuKylin Final Beta can be found here:

https://wiki.ubuntu.com/VividVervet/Beta2/UbuntuKylin

Ubuntu MATE

Ubuntu MATE is a flavor of Ubuntu featuring the MATE desktop environment.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/ubuntu-mate/releases/15.04/beta-2/

More information on UbuntuMATE Final Beta can be found here:

https://wiki.ubuntu.com/VividVervet/Beta2/UbuntuMATE

Ubuntu Studio

Ubuntu Studio is a flavor of Ubuntu that provides a full range of multimedia content creation applications for each key workflows: audio, graphics, video, photography and publishing.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/ubuntustudio/releases/15.04/beta-2/

Xubuntu

Xubuntu is a flavor of Ubuntu that comes with Xfce, which is a stable, light and configurable desktop environment.

The Final Beta images can be downloaded at:

http://cdimage.ubuntu.com/xubuntu/releases/15.04/beta-2/

Regular daily images for Ubuntu can be found at:

http://cdimage.ubuntu.com

Ubuntu is a full-featured Linux distribution for clients, servers and clouds, with a fast and easy installation and regular releases. A tightly-integrated selection of excellent applications is included, and an incredible variety of add-on software is just a few clicks away.

Professional technical support is available from Canonical Limited and hundreds of other companies around the world. For more information about support, visit http://www.ubuntu.com/support

If you would like to help shape Ubuntu, take a look at the list of ways you can participate at: http://www.ubuntu.com/community/participate

Your comments, bug reports, patches and suggestions really help us to improve this and future releases of Ubuntu. Instructions can be found at: https://help.ubuntu.com/community/ReportingBugs

You can find out more about Ubuntu and about this beta release on our website, IRC channel and wiki.

To sign up for future Ubuntu announcements, please subscribe to Ubuntu's very low volume announcement list at:

http://lists.ubuntu.com/mailman/listinfo/ubuntu-announce

Originally posted to the ubuntu-announce mailing list on Fri Mar 27 01:01:04 UTC 2015 by Adam Conrad, on behalf of the Ubuntu Release Team,

27 Mar 2015 6:11am GMT

Kubuntu Wire: Kubuntu Vivid Beta-2 Announced

full-screen-wee

Now just 23 bugs to fix before release. We can get there with your help.

27 Mar 2015 1:09am GMT