news aggregator

Raphaël Hertzog: My Free Software Activities in December 2013

Planet Ubuntu - Mon, 2014-01-06 21:48

This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (147.56 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.

The Debian Administrator’s Handbook

I spent a good chunk of December on the book. First finalizing the English version and getting it out (BTW, just for the launch, there’s a 10% discount on the paperback that lasts only until January 9th!). Then working on updating the French translation. Eyrolles will publish a new edition of the French book based on this translation. Expect some further news about this during January!

Debian France

I contributed to many discussions within Debian France.

Starting with a complaint that most events are organized in Paris, I proposed to map the location of Debian France members. We added new fields in the membership management page so that members can add their GPS coordinates and Frédéric Decou made some experiments with Openstreetmap. Someone else (Kiriarat) volunteered to write the required glue code. A manual map is currently maintained on the website.

In the discussions about the setup of the Debian France shop, I suggested to update our logo with a nicer looking one. We got a few suggestions and after further discussions with Alexandre Delanoë and Sylvestre Ledru, we organized a small contest to entice designers to submit a logo proposal to us (the winner earns a set of Debian goodies). We got 46 proposals (see my favorite on the right)! The board is currently pre-selecting the logos and setting up the final vote for our members. The winner shall be announced at the end of the upcoming mini-debconf in Paris.

I also continued the work to finalize new bylaws and new internal rules. They shall be adopted during the next general assembly which will happen during the mini-debconf.

Misc Debian Work

WordPress maintenance. I mentored Pablo Vasquez to do his first small contribution to the WordPress packaging. I really appreciate this but he’s not yet ready to assume maintenance of a big package like WordPress on his own. I got multiple other offers of help and pinged them all while filing #733726 to coordinate the work on the new upstream version. But I got no reply Handing over packages to new maintainers is hard…

Init system discussion. The technical committee has the hard task of picking the default init system that will replace the traditional System V init (see #727708). I followed this huge discussion closely and contributed a bit where I add something meaningful to say. Final decision is expected sometimes in January. FWIW, I share entirely Russ Allbery’s point of view in those discussions. I have been running systemd on some of my computers for a few months already.

Fixing lxc in stable. The lxc package in stable has a non-working “debian” template. I really dislike documenting that things are broken so instead of doing that in the Debian Administrator’s Handbook, I opted to do something about it. I prepared a non maintainer upload for stable (see #680469 for the problem and #732358 for the stable update request).

Misc stuff. I sponsored a tcpdf upload. I filed an enhancement request on Publican to have it keep processing instructions present in translations. I uploaded new versions of publican-librement and debian-handbook. I filed #732678 against git-buildpackage because it failed to properly call lintian when given the -A dpkg-buildpackage argument.


See you next month for a new summary of my activities.

No comment | Liked this article? Click here. | My blog is Flattr-enabled.

Matthew Helmke: American Nations

Planet Ubuntu - Mon, 2014-01-06 19:01

I don’t review everything I read. Not by a long shot. I generally have 3 or 4 books being read at the same time stashed in different places in my house. Today’s book is one that I bought and that I think deserves a wider audience. It begins by separating the idea of nations from states. Nations are essentially groups of people who share a common culture, ethnic language, or historical experience. States can be made up of nations, as in the nation-states of historic France or Turkey, but nations can exist outside of states, such as the Kurdish or Palestinian nations today.

American Nations: A History of the Eleven Rival Regional Cultures of North America postulates that North America, including Canada, the United States, and Mexico (at least the northern part), is made up of eleven nations, each with its own unique historical roots, norms, mores, and cultures and that it is the differences between these nations that create the political and occasionally violent turmoil in the region, especially within the United States.

The author uses a historical narrative to describe the beginnings of each nation, and specifically the reasons its founders felt it necessary to leave their established homes elsewhere and settle in a new land. Some wanted to create religious utopias. Others wanted to escape the control of tyrants. Still others wanted to find a land that they themselves could control as new tyrants, feudal masters of their own hierarchical kingdoms. Native Americans are not forgotten, but just as in history, they are primarily relegated here to the role of conquered indigenous and their histories and interactions are mostly, but not completely, ignored except to factually and clearly describe the dastardly ways with which native peoples were usually treated.

Maps from the book have been published in articles like this one from Tufts Magazine from Tufts University and are worth a look at this point in the description. The linked article also gives a listing and short description of each nation, long enough to give a sense of the idea, but not enough to give the full argument.

The book has left me with several takeaways, and these are why I think it is worth reading for anyone with an interest in North American, and especially USA history, politics, and culture.

  • Talking about red states vs blue states or Republicans vs Democrats or even The North vs The South forces extreme simplification of more complex issues, beliefs, and trends.
  • Thinking that “everyone in the Midwest” USA thinks or believes the same is naive–this is actually one of the more diverse sections of the country, which is why it always seems to be the power broker or swing voting area. In fact, it has historically been the buffer between the Yankee north and the Deep South extremes of the spectrum on almost every debate.
  • American history is presented very differently to children in each of these national areas. The obvious example is that what people who grew up in Yankeedom call “The Civil War” is called “The War Between the States” in the Deep South and often also in Tidewater and Greater Appalachia. However, this is only an obvious example and are there many less-obvious examples that I didn’t realize exist.
  • The men who made the decisions while creating the United States of America as a state sharply disagreed on many issues and for its first hundred years it was not certain the state would persist.

American Nations gives a clear description of each group, its stated motives, and its actions and uses these to dispassionately explain thought and voting trends and more across the areas. It follows these across time as historical events unfold that cause power to rise and fall, especially as the nations expand geographically and how each chose to do so–note, each nation did so very differently from the others. The intent is to help the reader grasp the layers of meaning, communication, alternate understandings and perceptions of events that make up the continent and especially the United States. Knowing this helps both the insider and the outsider grasp the difficulty inherent in trying to unite people across the nations toward any common goal.

As a supplement to a typical (lacking) education in North American and especially American history, I consider this book a quality companion to Howard Zinn’s A People’s History of the United States; this book is less political, but I don’t think it will be less transforming for the reader.

Disclosure: I was NOT given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

Michael Rooney: Freelancing: 2 Years of Learning and Evolution

Planet Ubuntu - Mon, 2014-01-06 18:45

Last year was my second year as a freelance programmer, and I’d like to continue my habit of retrospectives, so here’s another. My primary work philosophy has been to figure out how much I need to earn each month, and then work as part-time as possible to earn that amount.

2012 was a sort of proof-of-concept of that strategy, and demonstrated success in the various aspects of that: I was able to accurately predict how much money I’d need, I was able to land gigs to earn that money, and I greatly enjoyed all the extra free time I had as a result.

Based on the success of 2012, I felt very comfortable in 2013 to dial back my hours even more. Here’s what my monthly hours looked like over the past two years:

2012 (the left half) was erratic while in 2013 (the right half) I worked less, but more consistently. In 2012 I averaged about 13 hours per week, while last year I averaged about 8. What is most interesting is that I was able to reduce my weekly hours by 62% while only reducing my annual income by 12%. That’s because last year I was able to increase my effective hourly rate by about 53% compared to 2012.

I didn’t change the hourly rate I advertise to clients, so how did I increase my effective hourly rate?

  1. Preferring project-based contracts to hourly contracts. These allow me to quote a fixed price, and the faster I get the project done, the more per hour I make. Having had good experience in 2012, I felt confident enough in my estimates to push for more project-based contracts in 2013, which have proven to be much more profitable.
  2. Recurring income. I’m now covering 26% of my monthly budget with recurring payments for hosting and support, whereas I ended 2012 at around 15%. I’ve previously spent some time making sure my hosting and deployment is unified and simple, so while I almost doubled my recurring income year over year, I certainly didn’t have to double the amount of work I have to do each month to keep all the sites up and running well.

It’s also nice to see that my client base is becoming more diversified and that I’m relying less on any particular client as an income source:

  • Number of clients invoiced. 2012: 6, 2013: 9
  • Per-client average. 2012: $12,595, 2013: $7,418

For 2014, I expect I’ll continue working around 8 hours per week, and focus on building Django apps from scratch, which are my favorite projects and lead to recurring revenue. I’ll also continue working on personal incubation projects like BatchedInbox; I’d love to be partially supporting myself with those. Definitely let me know what your contracting or salaried experience has taught you, and if you’ve got any questions or suggestions!


Julian Andres Klode: python-apt now native Python 3 code

Planet Ubuntu - Mon, 2014-01-06 16:46

Today I made an important change to the python-apt code: It is now native Python 3 code (but also works under Python 2). The previous versions all run 2to3 during the build process to create a Python 3 version. This is no longer needed, as the code is now identical.

As part of that change, python-apt now only supports Python 2.7, Python 3.3, and newer. I’m using some features only present in 3.3 like Python2 unicode literal syntax in order to keep the code simple.

Here’s how I did it:

I took the Python 2 code and ran 2to3 -f print -x future on it. This turned every print statement in a call to the print function. I then went ahead and added a “from __future__ import print_function” to the top of each module. This was the first commit.

For the second commit, I ran 2to3 -p -x future to convert the remaining stuff to Python 3, and then undid some changes (like unicode literals) and fixed the rest of the changes to work under both Python 2 and 3. Sometimes I added a top-level code like:

if sys.version_info_major >= 3: unicode = str

So I could use unicode in the code for the Python 2 cases.

I used various backported modules like io and stuff only available in Python 2.7, so dropped support for Python 2.6.

Filed under: Debian, Python

Canonical Design Team: New year links

Planet Ubuntu - Mon, 2014-01-06 13:43

Happy new year!

Here are a couple of links that have been flying around the London office since we returned. The Verge did a recap of their most influential people of 2013.


And there’s a report from JWT pointing at some nice trends, manifestations and insights for 2014 (thank you, Daniel, for the link).

Sam Hewitt: Moka 2.0 & Faba

Planet Ubuntu - Mon, 2014-01-06 00:00

After nearly 3 months of work, Moka 2.0 is finally released, along with its sister icon set Faba.

What’s new in Moka?

This new Moka is more standards-compliant on the Linux desktop.

It’s now solely a set of stylized icons, and it relies heavily on other icon themes for many of the system icons (folders, mimetypes, action icons, statuses, etc.), hence the spin-off and creation of Faba.

You can read up about it and download it on the project website:

Moka Icon Theme

What’s Faba?

Faba is actually three/four icons themes:

  1. A base icon theme (folders, mimetypes, actions, etc.)
  2. A symbolic icon theme
  3. Two sets of monochrome icons for desktop environments with panels.

The monochrome and symbolic icon sets are pretty complete, but the base set is currently pretty barebones –effectively just folders– and it inherits many icons. But as it grows it will evolve into a more complete theme.

Again, you can read up about it and download it on the project website:

Faba Icon Theme

John Baer: AX Ubuntu Theme

Planet Ubuntu - Sun, 2014-01-05 18:47

I am pleased to announce the AX Ubuntu Theme for Saucy Salamander is available for download. AX is a modification of default Ambiance theme with tweaks and polish added for an improved user experience.


One of the primary design elements of a GTK theme is color. The challenge is the color accuracy of computer screens are generally unreliable. The orange on one screen may become more red on another.

Ubuntu is all about orange and a design goal of AX is to use an orange which displays well even if the color accuracy of the display is not so good.

Another trend in technology design is to become more flat. Google themes are generally very flat and the new iOS 7 follows this trend as well. Another design goal of AX is to be more flat.

The above screen shot is of AisleRiot’s Klondike solitaire. The window title bar and tool bars are themed dark and the menu high lights are orange. The text is themed white for good contrast.

Many themes use shades of a single color to add variety but for this version I decided to step out of the box and use different compliments instead. The above screen shot of the Ubuntu sound control and progress bar show this in action.

I like traditional scroll bars and AX supports them as the screen shot of the Appearance Control widget demonstrates.

The final screen shot shows the relatively new File Manager in action.

Installation Steps

The targeted platform for this theme is Ubuntu 13.10.

1. Download the installation package here.

2. Expand the Archive.

3. Open a terminal window by pressing the ctrl-alt-t keys at the same time or select Terminal from the menu.

Type the following commands.

  • MyPC: ~$ cd Downloads/AX-Install
  • MyPC: ~$ sudo bash
  • [sudo] password for MyPC: **********

5. Confirm the Installation.

To begin using Ambiance X, log out and log in.

Updating / Removing AmbianceX

In the event your desire becomes to revert back to Ambiance or any other theme, remove Ambiance X by running the script (step 3).

Overlay Scrollbars

By default AX turns off overlay scroll bars. The installation package includes two additional scripts (DisableUbuntuScrollbars / EnableUbuntuScrollbars) to permit changing this functionality.


The post AX Ubuntu Theme appeared first on j-Baer.

Jonathan Carter: Happy 2014!

Planet Ubuntu - Sun, 2014-01-05 18:31

So, it’s 2014 and I still haven’t migrated away from WordPress to using something fancy written in Python. But who cares? Life is great and I’ve made good progress in lots of other areas :)

I’m getting fitter by the day, last year I joined a running club and I now play squash too, which is working so much better than just going to the gym. Also finally making progress with learning how to play guitar, another ancient goal of mine that had slow progress for a while. It helps that I now live on my own and can make noise whenever I want to. I’m also going for lessons every Wednesday and have some plans to convert my spare room in to a music room. I’ve also gotten into beer brewing. I attended Beerschool via Beerlab, my first batch of American Pale Ale is just about ready for bottling and I’ll probably do that next weekend.

What else? Well, this year I definitely want to be more focused in my free software contributions than in 2013. I want to get my Debian contributions flowing well again with the aim of becoming a Debian Maintainer. Also planning to go to Debconf in Portland, Oregon in August. Then there’s LTSP which is working towards LTSP 6, which will see a huge shift in proper support for local processing and less on thin client support. Not sure how far my involvement will stretch there but I’m certainly very interested and will do my best to make the LTSP hackfest later in the year. The next 2-3 months will need the most focus on Edubuntu. The 14.04 LTS release will be a big release and the single-sign-on directory infrastructure that will be released along with it will mark a big milestone for the project.

Well, to anyone still reading my blog, have a great 2014!

Sebastian Heinlein: Announce todo.txt open action

Planet Ubuntu - Sun, 2014-01-05 15:37
The script adds a new action to, the todo.txt command line client, which allows to open documents referenced in a todo item. If more than one document is available a small menu will be shown. This allows you to easily acces documents that are required to accomplish the task. Todo.txt uses a simple text file to store your items. Each single line represents a task. To install the script you have to copy it to your TODO_ACTIONS_DIR which defaults to $HOME/.todo/actions.d. Just type: open ITEM_NUMBER The following attachement types are supported:
  • mail:*
    opens the mail in mutt (requires muttjump) and a mail indexer e.g. notmuch. To convert mails from mutt into a task see mutt2todotxt.
  • url:*|www.*|http://*|https://
    opens the URL in a web browser e.g. , or
  • note:*
    edit the note (requires the notesedit action)
  • file:*|~/*|/*
    open the path with the installed default handler (requires xdg-open or open), e.g. file:/home/user/README.txt, /home/user/README.txt or ~/README.txt
The action is part of my todo.txt repository. git clone git://

Sebastian Heinlein: Announce mutt2todotxt

Planet Ubuntu - Sun, 2014-01-05 15:19
To improve my task management workflow with the todo.txt command line tool I wrote a small helper called mutt2todotxt. It converts a mail from mutt into a todo.txt item and adds it to the list of open items. It will automatically include the sender, subject, labels and the unique message id to the todo item. The name of the sender is by default the user name part of the address. It the user name is either root, logcheck or cron the domain part will be chosen. Optionally the full real name of the sender can be used by specifying the -n option. Labels stored in the custom X-Label header are converted to todo.txt tags (+).  To use this script with mutt add this to your .muttrc: macro index,pager \Ct "<pipe-message>~/path/to/mutt2todotxt<enter>" If you press Ctrl+t a todo item will be created from the currently selected email. You can find the source code on gitorious: git clone git:// It was inspired by mutt2task written by Richard A. Johnson

Benjamin Kerensa: Pebble Watchface: UbuPebb

Planet Ubuntu - Sun, 2014-01-05 07:48

Ubuntu Pebble Watchface

If you are as big of an Ubuntu Fan as I am then surely you want to show off your love for the Ubuntu wherever you go and what better way to do that on your wrist? I created a Ubuntu Watchface called UbuPebb which you can download right here and start showing off on your Pebble!

This watchface only works on the new Pebble 2.0!

Benjamin Kerensa: Pebble Watchface: MoFox

Planet Ubuntu - Sun, 2014-01-05 07:30

If you are as big of an Firefox Fan as I am then surely you want to show off your love for the fox wherever you go and what better way to do that on your wrist? I created a Firefox Watchface called MoFox which you can download right here and start showing off on your Pebble!

This watchface only works on the new Pebble 2.0! I have also published it in the upcoming Pebble Appstore.

Seif Lotfy: Bye Bye Wordpress! Hello Ghost

Planet Ubuntu - Sat, 2014-01-04 08:45

Finally managed to move away from Wordpress. One of the reasons I did less blogging is that I felt that Wordpress became more of a CMS and less of a blogging platform.

I stumbled upon ghost which I must say is just awesome... Its done for blogging and blogging only :D

I will be bloging more again now. Recently I have been more active doing upstream openstack development and some sweet Mozilla hacks.
Stay tuned...

Nathan Haines: Which version of Ubuntu do I install?

Planet Ubuntu - Fri, 2014-01-03 23:34

Every two years, the Ubuntu community works really hard to produce a stable, solid version of Ubuntu that we can be really proud of. A bit conservative, but ready to be reliable for the next 5 years, each Long Term Support (LTS) release is a technical and logistical triumph that everyone associated with Ubuntu can be proud of. And when businesses or novice users are looking for a way to use Ubuntu for everyday and production systems, a release such as Ubuntu 12.04 LTS is a solid place to start. When the next LTS is released, upgrades are easy and reliable.

Ubuntu releases major updates every six months. Now known as “interim” releases, these non-LTS updates are supported for only 9 months after each release. This is enough time to join the next interrim release a bit later when any bugs have settled down. Upgrading is easy and graphical, and is a fairly pain-free process in most instances. For any expert or enthusiast desktop user, this is where new software and new features are and is always a tempting and useful choice for everyday desktops and development systems.

When it comes to recommending Ubuntu to friends and family and at installfests, the question of which version to use is simple. When a new LTS is released, that's the version to install. And the question needn't be asked for another year. Anyone who wants a stable system to become familiar with should definitely use the latest LTS release. But the question gets a little harder as a year and a half starts to go by. LibreOffice is always getting better. Unity has continuously improved since 12.04 LTS and only shows signs of continuing as convergence work brings intriguing new features like Smart Scopes and HUD improvements.

As 2014 dawns, there are fantastic opportunities ahead for Ubuntu and new users. But the question looms large:

Which version of Ubuntu do I install?

Ubuntu 12.04.3 LTS is as solid and reliable as every, as Ubuntu 12.04.4 LTS will be in February. It's a trustworthy system with a little over 3 more years of security updates promised. And Unity works very well in this version. Everything is looking good for 12.04 LTS users.

Ubuntu 13.10 was the result of a massive focus on getting Ubuntu running on smartphones and tablets in preparation for a major change in the way we think of computers and how they work for us. And while many of the changes aren't flashy, they are extremely beneficial. Core Ubuntu development came to rely on automatic software testing for each update, and as a result, Ubuntu 13.10 was as stable during development as it was during its release. Thanks to this major focus on careful updates, Ubuntu 13.10 is extremely reliable. Add to this the various usability improvements, greater hardware support thanks to the massive leaps in the Linux kernel this year, Smart Scopes, and updated software packages, this is probably the best Ubuntu desktop system that's been released in two years.

In April, there will be no question that Ubuntu 14.04 LTS is the version of choice. With 5 years of support and the continuing development practices laid out for Ubuntu 13.10, it's guaranteed to be a premium experience whether on desktops, servers, smart phones, or tablets.

But we can't install Ubuntu 14.04 LTS on user systems today. That would be irresponsible. And so we have two versions to choose from: Ubuntu 12.04 LTS and Ubuntu 13.10. Both of these will be upgradeable to 14.04 LTS. I'd like to advocate for Ubuntu 13.10 on new user systems until April.

User experience

Unity has changed and improved. Hardware support has come a very long way. And Ubuntu 13.10 much more closely represents the type of experience an Ubuntu user will have with 14.04 LTS. The software is stable and shouldn't change dramatically. LibreOffice 4.1 is a huge advance from the 3.5 experience in 12.04 LTS. Smart Scopes make using searching easy and powerful no matter what one's searching for. Web apps are integrated into the Ubuntu experience. There's no doubt that Ubuntu is more convenient in 13.10 than ever before.

Software updates are available

Ideally, users will upgrade to Ubuntu 14.04 LTS soon after it is released. This means that even if a user installs Ubuntu 12.04 LTS today, he'll still be facing an OS upgrade in April with fairly substantial Unity changes. This is no different than if the user is using Ubuntu 13.10—except the Unity experience will be largely left unchanged. Once 14.04 LTS is installed, the user can enjoy the 5 year support window and will have the option to upgrade to 14.10 but won't have to consider upgrading until 16.04 LTS is released.

You can even help by opening the Dash, searching for “Software & Updates”, then going to the Updates tab and changing the “Notify me of a new Ubuntu version:” to “For long-term support versions”. Once Ubuntu 14.04 LTS is released, the user will be offered the upgrade, but won't be offered again until Ubuntu 16.04 LTS. This offers the same upgrade experience as found in an default install of either Ubuntu 12.04 LTS or 14.04 LTS.

An online world

Ubuntu 12.04 LTS had limited online search capability. While useful, it's more of a convenience than a selling point.

Ubuntu 13.10 takes the first real steps toward bringing the world of information to the user regardless of whether it's local or available online. This will be one of the key values in Ubuntu during the two years after 14.04 LTS is released. Webapp integration provides all the advantages of running Ubuntu and Unity—Unity task switching, notification support, HUD integration, Messaging Menu integration for messages, Sound Menu integration for media players—and all with no compromises to the web-based experience. Unity also fully integrates online search results into the search experience.

For those with privacy or usability concerns, any changes to disable specific scopes or online searching altogether will carry forward to 14.04 LTS, so that users can decide their optimal balance of convenience and security now, and not after an OS upgrade when they're on their own. There's no right or wrong answer for online search integration, but Ubuntu 13.10 allows us to have the right conversation with new users so they can make an informed choice.


I think there's a good case for installing Ubuntu 13.10 on new users system between now and April. This release has shown exceptionally high quality and offers a superb user experience. It can also claim a smooth transition to 14.04 LTS in terms of user experience and privacy expectations and choices. So the next time you recommend Ubuntu to a friend, consider offering them Ubuntu 13.10, and give them an experience that really showcases why we love Ubuntu and Free Software.

The Fridge: Announcing the new Ubuntu IRC Council

Planet Ubuntu - Fri, 2014-01-03 20:32

The poll of Ubuntu IRC Members closed today and the following nominees have been elected to the Ubuntu IRC Council:

Congratulations to the new IRC Council Members! And thanks to Neal and Nathan for standing for election.

Originally posted to the ubuntu-irc mailing list on Fri Jan 3 20:26:23 UTC 2014 by Elizabeth Krumbach Joseph

Eric Hammond: Changing The Default "ubuntu" Username On EC2 Instances

Planet Ubuntu - Fri, 2014-01-03 03:57

configure your own ssh username in user-data

The official Ubuntu AMIs create a default user with the username ubuntu which is used for the initial ssh access, i.e.:

ssh ubuntu@<HOST>

You can create other users with your preferred usernames using standard Linux commands, but it is difficult to change the ubuntu username while you are logged in to that account since that is one of the checks made by usermod:

$ usermod -l myname ubuntu usermod: user ubuntu is currently logged in

There are a couple ways to change the username of the default user on an Ubuntu instance; both passing in special content for the user-data.

Approach 1: CloudInit cloud-config

The CloudInit package supports a special user-data format where you can pass in configuration parameters for the setup. Here is sample user-data (including the comment-like first line) that will set up the first user as ec2-user instead of the default ubuntu username.

#cloud-config system_info: default_user: name: ec2-user

Here is a complete example using this cloud-config approach. It assumes you have already uploaded your default ssh key to EC2:

username=ec2-user ami_id=ami-6d0c2204 # Ubuntu 13.10 Saucy user_data_file=$(mktemp /tmp/user-data-XXXX.txt) cat <<EOF >$user_data_file #cloud-config system_info: default_user: name: $username EOF instance_id=$(aws ec2 run-instances --user-data file://$user_data_file --key-name $USER --image-id $ami_id --instance-type t1.micro --output text --query 'Instances[*].InstanceId') rm $user_data_file echo instance_id=$instance_id ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress') echo ip_address=$ip_address ssh ec2-user@$ip_address

The above cloud-config options do not seem to work for some older versions of Ubuntu including Ubuntu 12.05 LTS Precise, so here is another way to accomplish the same functionality…

Approach 2: user-data script

If you are using an older version of Ubuntu where the above cloud-config approach does not work, then you can change the default ubuntu user to a different username in a user-data script using standard Linux commands.

This approach is also useful if you are already using user-data scripts to do other initialization so you don’t have to mix shell commands and cloud-config directives.

Here’s a sample user-data script that renames the ubuntu user so that you ssh to ec2-user instead.

#!/bin/bash -ex user=ec2-user usermod -l $user ubuntu groupmod -n $user ubuntu usermod -d /home/$user -m $user if [ -f /etc/sudoers.d/90-cloudimg-ubuntu ]; then mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloud-init-users fi perl -pi -e "s/ubuntu/$user/g;" /etc/sudoers.d/90-cloud-init-users

Here is a complete example using this user-data script approach. It assumes you have already uploaded your default ssh key to EC2:

username=ec2-user ami_id=ami-6d0c2204 # Ubuntu 13.10 Saucy user_data_file=$(mktemp /tmp/user-data-XXXX.txt) cat <<EOF >$user_data_file #!/bin/bash -ex user=$username usermod -l \$user ubuntu groupmod -n \$user ubuntu usermod -d /home/\$user -m \$user if [ -f /etc/sudoers.d/90-cloudimg-ubuntu ]; then mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloud-init-users fi perl -pi -e "s/ubuntu/\$user/g;" /etc/sudoers.d/90-cloud-init-users EOF instance_id=$(aws ec2 run-instances --user-data file://$user_data_file --key-name $USER --image-id $ami_id --instance-type t1.micro --output text --query 'Instances[*].InstanceId') rm $user_data_file echo instance_id=$instance_id ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress') echo ip_address=$ip_address ssh ec2-user@$ip_address

If you include this code in another user-data script, you may want to change the username towards the beginning of the script so that you can log in and monitor progress of the rest of the script.

Clean Up

When you’re done testing, terminate each demo instance.

aws ec2 terminate-instances --instance-ids "$instance_id" --output text --query 'TerminatingInstances[*].CurrentState.Name'

The sample commands in this demo require you to install the aws-cli tool.

Original article:

Jono Bacon: Ubuntu In 2014

Planet Ubuntu - Thu, 2014-01-02 21:56

Happy new year, friends!

2013 was a phenomenal year for Ubuntu. It is difficult to believe that it was just a year ago today that we announced Ubuntu for phones. Since then we have built and released the first version of Ubuntu for phones complete with core apps, delivered Mir in production on the phone, built a vastly simplified and more powerful new app delivery platform complete with full security sand-boxing, created a powerful smart scopes service to bring the power of native search and online content to devices, delivered a new SDK with support for QML, HTML5, and Scopes, built an entirely new, created extensive CI and testing infrastructure to ensure quality as we evolve our platform, shipped two desktop releases, extended the charm store, delivered Juju Gui, spun up multiple clouds with Juju, and much more.

In terms of Ubuntu for devices, I mentally picture 2013 as the year when we put much of the core foundational pieces in place. Everything I just mentioned were all huge but significant pieces of delivering a world-class Free Software convergence platform. Building this platform is not as simple as building a sexy GUI; there is lots of complex foundational work that needs doing, and I am incredibly proud of everyone who participated in getting us to where we are today…it is a true testament of collaborative development involving many communities and contributors from around the world.

So, 2013 was an intense year with lots of work, some tough decisions, and lots of late (and sometimes stressful) nights, but it laid down the core pillars of what our future holds. But what about 2014?

This time next year we will have a single platform code-base for phone, tablet, and desktop that adapts to harness the form-factor and power of each device it runs on. This is not just the aesthetics of convergence, it is real convergence at the code level. This will be complemented by an Ubuntu SDK in which you can write an app once and deliver it to any of these devices, and an eco-system in which you can freely publish or sell apps, content, and more with a powerful set of payment tools.

These pieces will appear one phase at a time throughout 2014. We are focusing on finishing the convergent pieces on phone first, then bringing them to tablet, and then finally bringing our desktop over to the new convergent platform. Every piece of new technology that we built in 2013 will be consumed across all of these form-factors in 2014; every line of code is an investment in our future.

Even more importantly though, 2014 will be the year when we see this new era of Ubuntu convergence shipping to consumers. This will open up Ubuntu to millions of additional users, provide an opportunity for app developers to get in on the ground floor in delivering powerful apps, and build more opportunity for our community than ever before.

I wish I could tell you that 2014 is going to be more relaxing than 2013. It isn’t. It is going to be a roller-coaster. There are going to be some late nights, some stressful times, some shit-storms, and some unnecessary politics, but my goal is to help keep us working together as a community, keep us focused on the bigger picture, keep our discourse constructive, and to keep the fun in Ubuntu.

Let’s do this.

Lubuntu Blog: Box now on XFCE!

Planet Ubuntu - Thu, 2014-01-02 19:58
I must confess that XFCE is my second favourite environment (you already know what's the first one), and after giving support for Unity (and some Ubuntu elements) now it's turn to give it to XFWM, the window manager of XFCE, and Thunar, the file manager, that now looks pretty similar to PCManFM (unified :D). You can download the Box unified theme here, or use the instructions mentioned on the

The Fridge: Announcing the new Technical Board Members

Planet Ubuntu - Thu, 2014-01-02 17:32

The poll has been completed an the following nominees have been
elected to the Technical Board:

Congratulations and welcome! And thanks again to everyone who stood for election.

Originally posted to the technical-board mailing list on Thu Jan 2 17:27:13 UTC 2014 by Elizabeth Krumbach Joseph

Jorge Castro: nginx coming to main in 14.04

Planet Ubuntu - Thu, 2014-01-02 15:05

Right before the holidays Robie Basak filed a Main Inclusion Report for nginx in Ubuntu. What does this mean? This means that nginx will sit alongside Apache in 14.04 with full security updates over the life of the release.

This is excellent news for those of you using stacks that tend to use nginx; increasing our support of nginx has been something many Ubuntu Server users have been telling me they’d like to see and it’s good to see us make some progress in this area.

All this is possible due to Thomas Ward; who has been rocking nginx in Ubuntu for a while now. Without his tireless efforts this couldn’t have been possible! He’s also maintaining PPAs for stable and development releases of nginx for every Ubuntu release since 10.04. What an excellent contribution to the community!

On the Juju front we have some charms that allow you to dynamically swap between Apache and nginx. Over the course of the year we’d like to see more charms have an option to use nginx. If you are interested in working on that, let me know.


Subscribe to Free Software Magazine aggregator