Partners Suppo
sudo adb kill-server
sudo adb start-server
sudo adb devices
adb shell
(sudo ap-get install phablet-tools
phablet-config writable-image )
(OR sudo mount -o remount,rw / )
cd ~/.local/share/libertine
rm ContainersConfig.json
cp /custom/click/.click/users/@all/com.ubuntu.puritine/libertine-config/libertine/ContainersConfig.json ~/.local/share/libertine
ls
libertine-container-manager create -i myapps -n "My Applications" -t chroot -d vivid --force
libertine-container-manager install-package -i myapps -p scribus
libertine-container-manager exec --command "apt-get install krita" --id myapps
libertine-container-manager exec --command "mv /var/lib/dpkg/info /var/lib/dpkg/info.bak" --id myapps
libertine-container-manager exec --command "mkdir /var/lib/dpkg/info" --id myapps
libertine-container-manager exec --command "apt-get update" --id myapps
libertine-container-manager destroy --id puritine2
libertine-container-manager configure -a "ppa:seafile/seafile-client" -i myContainerID
sudo add-apt-repository ppa:ondrej/seafile
Getting Libertine
Libertine is available in the Ubuntu archives from Xenial Xerus (Ubuntu 16.04 LTS) onwards, and has been backported to the derived version of Vivid Vervet (Ubuntu 15.04) used as a base for the Ubuntu Touch OS.
Libertine is not currently available as a click package because it's a developer preview and not yet ready for general consumption. If you've got the chops to install something on your phone in developer mode, you should be able to handle the instability of a developer-ready Libertine.
The Libertine tools are already installed on convergent devices running Ubuntu Touch, such as Bq's M10 tablet.
Minimal System requirements for Libertine
Libertine itself runs on any supported device, but most X11 applications work best on a system that supports external keyboards, mice, and displays. Development testing has been done on a Nexus N4 and other devices.
Running an image from rc-proposed for your particular device.
At least 500 MiB storage space for a container.
Libertine on your Unity 8 device
Installation
On a Ubuntu Touch device (phone, tablet)
Connect your device to a desktop host using a USB cable, and unlock it (you should already have developer mode enabled).
Connect to the device.
host: adb shell
If you haven't done this in some other way, make sure your system partition is in read/write mode.
$ sudo mount -o remount,rw /
Putting your device into read/write mode and updating packages may render your system unusable or un-upgradable. Be prepared to reflash your device.
You can now skip to the Next Steps section.
On a Ubuntu Classic device (desktop, laptop)
If you are running the Unity8Desktop tech preview, you can also install Libertine. Just make sure your Unity 8 session is working, and follow the Next Steps section.
Next steps
Update, upgrade, and install required packages.
$ sudo apt-get update$ sudo apt-get install libertine libertine-scope xmir
On a Ubuntu Touch device, you will also need the following package installed.
$ sudo apt-get install python3-libertine-chroot
Ubuntu Touch images with the Puritine click installed need some extra work to get Libertine working. If you want to experiment with that, contact a Libertine developer on the #ubuntu-libertine IRC channel on Freenode.
Usage
Creating a container
You cannot use the Terminal App for creating containers due to its confinement. Please either ssh or adb into the device to create containers.
You can use the Libertine app to create a container, but unfortunately it only supported the creation of LXC-based containers, which are not supported by the version of the kernel on most Ubuntu Touch devices.
You can create chroot-based container using the command line.
$ libertine-container-manager create --id vivid --type chroot --name 'Libertine Demo'
Installing Applications
You can use the Libertine App to install and remove applications. Alternatively, you can use the command-line tools (libertine-container-manager --help is nice).
Surfacing and Launching Container Applications
The Libertine Scope should be available from the Scopes scope, entitiled Legacy Apps. You should be able to select an application icon and click the Launch button to launch it.
Getting Help
The best way to get help is to contact one of the developer in the #ubuntu-libertine channel on Freenode.
Touch/Libertine (last edited 2016-07-28 14:15:21 by bregma)
The material on this wiki is available under a free license, see Copyright / License for details.
ritine apps on the BQ Aquaris M10 Ubuntu Edition
Posted on June 2, 2016 by Michael
I’ve published this earlier as google doc, but it seems that was a bad idea and many people are still asking the same question. So here’s the same howto, targetting a somewhat broader audience:
Please note: This is not officially supported yet but has been tested by a fair amount of people by now. All steps are taken at your own risk. Be prepared to reflash the tablet if you mess up. Also note that none except the preinstalled applications have been tested by Canonical. Your favorite application might just not work yet.
Update: As people pointed out in the comments (thanks for that!), this will fail if ran from the Terminal app on the device. Instead, use a USB cable and log in to the tablet using phablet-shell from the package phablet-tools and run the following commands from there.
Initial setup
First we need to replace the link to the container config with the actual container config so it can be edited.
# cd ~/.local/share/libertine
# rm ContainersConfig.json
# cp /custom/click/.click/users/@all/com.ubuntu.puritine/libertine-config/libertine/ContainersConfig.json .
Create a new container
# libertine-container-manager create -i puritine2 -n "Puritine 2" -t chroot -d vivid --force
Now we have a second container in the writable part of the image named puritine2. The original that comes preinstalled (named puritine) is still there, but in the read-only part of the image.
Installing applications in the new container
First we fire apt-get inside the container to install inkscape. The libertine-container-manager can do that all for us. In this example, we’re installing inkscape.
# libertine-container-manager install-package -i puritine2 -p inkscape
Nearly done. All that’s left to do is to add an icon in the dash so we can actually launch inkscape. For that we copy the preinstalled gimp icon and edit it to launch inkscape instead. Note that the naming of the file is key here. The file name consists of containerid_appid_version.desktop. So in our case puritine2 for the container id, inkscape for the appid and well, the version seems to be unused at this point, so let’s leave that at 0.0.
# cd ~/.local/share/applications/
# cp /usr/share/applications/puritine_gimp_0.0.desktop puritine2_inkscape_0.0.desktop
Now edit the file and change the Name= field to say inkscape and the Icon= field to point to an icon you want. Don’t edit any other fields.
Now pull down the apps scope to refresh it. Inkscape should appear there and start up when you click it.
This entry was posted in Ubuntu. Bookmark the permalink.
← snap up your home
16 Responses to Installing more puritine apps on the BQ Aquaris M10 Ubuntu Edition
Cool, thanks for putting this info out there. I think that you don’t need to copy the desktop file and edit it in OTA11. I haven’t verified that for sure on my M10, but it works well with the overlay PPA on my desktop now.
nula says:
Thank you for the nice guide!
I tried to follow it but it was stopped during the “create” phase on a non-existance of “matchbox-keyboard package”. Do you have similar experience?
alecu says:
I tried the above steps several times from the Terminal app, but “libertine-container-manager create …” always crashed with some error or other.
To avoid repeatedly banging your head against the wall I recommend instead to use a USB cable and follow the steps via phablet-shell or even adb. With that it works perfectly! I managed to install and run inkscape, scribus, and even the Arduino IDE.
Michael says:
Thanks, I’ve added a note for that to the text. Not sure what exactly is the issue with the Terminal app. We should try to find out.
pawlinski says:
Hi,
Thanks for this description. Unfortunately, I receive an error with this packages while attempting to install a new container.
isc-dhcp-client
x11-common
libxtst6:armhf
libfakekey0:armhf
matchbox-keyboard
matchbox
ca-certificates
E: Sub-process /usr/bin/dpkg returned an error code (1)
phablet@ubuntu-phablet:~$
Thanks for any help
Michael says:
Please see the comment by alecu. It should hopefully solve your problem.
nula says:
The access via USB works perfectly. Thanks!
cixot says:
Hi,
many thanks for this tuto, now inkscape launches successfully from my M10.
However I have used the procedure with vlc, but the app icon launches a black vlc window that disapears in 3 seconds.
Have you tried to install vlc in ubuntu-touch?
Many thanks!
Pere Castanyer Sardà says:
Hello and thanks for your article.
I’m planing to try to install xapps in my M10, today after the OTA-12 and I wondering if the process is still valid after the update.
Can you confirm that?
Regards.
Michael says:
I’m not 100% sure yet, but I believe this will be obsolete after OTA-12. The Platform will bring all the features required to install classic applications via its UI already.
Pere Castanyer Sardà says:
You’re right.
I’m using the instructions found in :
http://www.omgubuntu.co.uk/2016/07/ubun ... -whats-new (In the Bonus section)
regards,
Lars says:
Fun you posted while I was writing see below… But whats described on your link is not a GUI part or?
If I for example would like to install VLC or even openCPN as I talked about below how do I do that?
Thank you
/Lars
Lars says:
Hi,
Will you put out a guide on how to get to the UI and do it? Is it the same with the Pro 5 that it will be a GUI that you can use or do you first need to create a container there in the way you describe above or?
Happy for all support!
By the way do you know if X11 apps under UT will be able to use the GPS for example? WQould like to have the OpenCPN running on my Ubuntu device.
Br,
Lars
Joao says:
How did you manage to install the OTA-12? It still dont show up for the aquaris m10
Michael says:
It should have appeared for all devices by now I think
Miguel says:
Hello. Thanks a lot for this guide.
I have installed OTA-12 in my BQ tablet and the instructions for installing the container and a few applications (via adb through usb cable) worked without an error (it took a long time). I have installed gnome-terminal, gnomine, iputils-ping and empathy.
Nevertheless, when I try to run the applications they usually crash (gnomine always, the other two randomly) and apparently the applications do not get access to the network connection (for example, performing a “ping” inside gnome-terminal when it does not crash, I get the error “ping: icmp open socket: Operation not permitted” and empathy, when it does not crash, seems not to get network connection either. Do you know if something need to be installed to get network connection?
It is possible to chroot into the container from the terminal without opening any particular application?
Thanks a lot for any reply.
Monday, July 18, 2016
Running X Apps on Ubuntu Devices
You can install, launch, and use traditional debian-packaged X apps on Ubuntu devices. This may be unexpected given that Ubuntu devices do not seem to support user-installed debian packages, nor do they run the X Display Server. But it does work, courtesy of Mir/XMir and Libertine.
So here’s a bit of background to get started.
But first, please note that at this time, display and use of X apps on an external monitor is only available on the Pro5/M10 and on future devices. (BQ 4.5/E5 and Meizu MX4 do not support this feature.)
Hello Mir (Goodbye X)
Traditionally, and still on the Ubuntu Classic desktop with Unity 7, Ubuntu runs an X Display Server. Apps are debian packaged. And, they are written for X:
Due in part to X’s inherent security shortcomings, the Mir display server is now used on Ubuntu Devices under Unity 8 (although not yet by default on the desktop). XMir bridges traditional X apps to Mir. That is, apps written for X can run fine in a Mir/XMir environment:
Packages and the root file system
Ubuntu Classic has a root file system (rootfs) that is populated through installation of a carefully curated set of debian packages. At run time, users can install debian packages to add apps or modify their system.
This approach raises security concerns because debian packages execute installation scripts with root level privileges and because debian packages can alter what the rootfs provides by modifying or replacing core system components.
Ubuntu devices are designed for security and reliability. Ubuntu devices have a read-only rootfs that is small and tight, providing just what is needed and simplifying system updates. The rootfs is not modifiable by the user. Indeed it is mounted as a read-only partition. Users install apps through click packages that do not modify the rootfs.
Given all of this: how do users install debian packaged apps that use X on Ubuntu Devices? The answer is LIbertine with XMir.
Hello Libertine
Libertine is a system to manage app containers. It is specifically designed to support the many traditional X apps that are debian packaged. Each container is a separate Ubuntu rootfs populated through debian package installations. (Currently these containers are chroots: later, LXD contains will be supported. Also, currently the containers must be of the same Ubuntu series as the device: Vivid.)
So, you can install or create a libertine container, install debian packaged X apps into it, and launch them using the XApps scope. The apps access to the user’s key directories: Documents, Downloads, Music, Pictures, and Videos. So data files created and saved by an app in one container are available to apps in any other container, and indeed outside of the containers.
Let’s take a quick look at the XApps scope.
XApps Scope
This scope simply lists the containers and, for each container, it displays its apps. Here’s a look at a device with two containers. This system has two containers (Puritine and My Container). And each has a few apps:
Tap an app to launch it.
long press an app to hide it.
If you have any hidden apps, see them from the search icon (magnifying glass) and tap Hidden X Apps. Long press a hidden app to unhide it.
Note that a container with no apps does not display in the scope.
So how does one create and delete containers, and add or remove apps from them?
Libertine Container Manager
libertine-container-manager is a command line tool you use on the device to create and manage containers. This includes installing debian packaged apps into them. (These containers are created in the phablet user’s home directory and are not a part of the read-only rootfs.)
Note: libertine-container-manager currently cannot be run in the Terminal App. Instead please connect to your device from an Ubuntu system using phablet-shell.
Listing Containers
phablet@ubuntu-phablet:~$ libertine-container-manager list
puritine
my-container
The “puritine” container is pre-installed on many devices through the com.ubuntu.puritine click package (“Desktop Applications”):
phablet@ubuntu-phablet:~$ click list | grep puritine
com.ubuntu.puritine 0.11
The second container (“my-container”) was created on the device with libertine-container-manager.
Note: It is possible to pre-install customized containers through bespoke channels.
Creating a Libertine Container
You can create a new container on a device. The container needs a unique ID and (optionally) a name.
Note: The container must be the same Ubuntu series as the device, currently: vivid.
phablet@ubuntu-phablet:~$ libertine-container-manager create --id my-container --name "My Container" --distro vivid --type chroot
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 790BC7277767219C42C86F933B4FE6ACC0B21F32)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
[...]
Listing Apps in a Container
It’s easy to list the apps in a container. You just use the container’s id, as follows:
Note: We add the optional --json argument here and show only lines with “name” for display convenience.
phablet@ubuntu-phablet:~$ libertine-container-manager list-apps --id my-container --json | grep "\"name\""
"name": "Panel Manager",
"name": "Python (v3.4)",
"name": "Python (v2.7)",
"name": "gedit",
"name": "Help",
"name": "Notification Daemon",
"name": "Terminal",
Also note that all apps that install a .desktop file are listed by this command, although many of them are not displayed in the XApps scope since they are not appropriate.
Installing an app in a container
To install a debian package in a container, you just use install-package with the container id and the debian binary package name, as follows:
phablet@ubuntu-phablet:~$ libertine-container-manager install-package --id my-container --package terminator
The package and all of its dependencies are installed in the container. After this, assuming the package installs a .desktop file, it displays in the XApps scope and is launchable with a tap as expected.
Installing an app from a specific Launchpad PPA
By default, available debian packages are installed from the standard Ubuntu archive the chroot’s apt configuration points to. You can add a launchpad PPA, as follows:
phablet@ubuntu-phablet:~$ libertine-container-manager configure --id my-container --archive ppa:USER/PPA-NAME
(Currently, private PPAs are scheduled for an upcoming release.)
After this, you can install packages into the container as usual, including from the PPA.
Removing apps from a container
Remove a debian package from a container with:
phablet@ubuntu-phablet:~$ libertine-container-manager remove-package --id my-container --package PACKAGE_NAME
Libertine-container-manager help
Use the --help for top level help.
You can see details on each subcommand, for example remove-package, as follows:
phablet@ubuntu-phablet:~$ libertine-container-manager remove-package --help
usage: libertine-container-manager remove-package [-h] -p PACKAGE [-i ID] [-r]
optional arguments:
-h, --help show this help message and exit
-p PACKAGE, --package PACKAGE
Name of package to remove. Required. -i ID, --id ID Container identifier. Default container is used if
omitted.
-r, --readline Readline mode. Use text-based frontend during debconf
Interactions.
Updating a container
Want the debian packages in a container updated? Easy:
phablet@ubuntu-phablet:~/.cache/libertine-container/my-container$ libertine-container-manager update --id my-container
Executing a Command in a Container
phablet@ubuntu-phablet:~/.cache/libertine-container/my-container$ libertine-container-manager exec --command "apt-get update" --id my-container
Atteint
http://ppa.launchpad.net vivid InRelease
Atteint
http://ports.ubuntu.com vivid InRelease
Atteint
http://ports.ubuntu.com vivid-updates InRelease
Atteint
http://ppa.launchpad.net vivid/main armhf Packages
Atteint
http://ppa.launchpad.net vivid/main Translation-en
Atteint
http://ports.ubuntu.com vivid/main armhf Packages [...]
Note: Running the apt-get update command in a container may be useful to update the container’s knowledge of newly available packages without installing/updating them all. You can then see whether a package is available, with:
phablet@ubuntu-phablet:~/.cache/libertine-container/my-container$ libertine-container-manager exec --command "apt-cache policy firefox" --id my-container
firefox:
Installé : (aucun)
Candidat : 44.0+build3-0ubuntu0.15.04.1
Table de version :
44.0+build3-0ubuntu0.15.04.1 0
500
http://ports.ubuntu.com/ubuntu-ports/ vivid-updates/main armhf Packages
37.0+build2-0ubuntu1 0
500
http://ports.ubuntu.com/ubuntu-ports/ vivid/main armhf Packages
More about the Libertine Containers
As noted, the container is a directory containing an Ubuntu rootfs. Container directories are here:
phablet@ubuntu-phablet:~/.cache/libertine-container$ pwd
/home/phablet/.cache/libertine-container
phablet@ubuntu-phablet:~/.cache/libertine-container$ ls
my-container puritine
phablet@ubuntu-phablet:~/.cache/libertine-container$ cd my-container/
phablet@ubuntu-phablet:~/.cache/libertine-container/my-container$ ls
rootfs
You can get a bash shell into the container as follows:
phablet@ubuntu-phablet:~/.cache/libertine-container/my-container$ libertine-container-manager exec --command "/bin/bash" --id my-container
groups: cannot find name for group ID 1001
[...]
root@ubuntu-phablet:/#
Start the adb server as root. So if you were on Ubuntu, you'd want to run the following command.
adb kill-server (you must do this to kill the user started server)
sudo adb start-server
Or you can basically do any adb command with sudo to start it. I typically use:
sudo adb devices
This starts the ADB server and tells me my phone is definitely hooked up.
?????? no permissions ...
sudo adb kill-server and then sudo adb start-serve
NAME
libertine-container-manager - Manage Libertine containers for supporting legacy X applications on Unity 8
SYNOPSIS
libertine-container-manager [ -v | -q ] command [ command_options ] libertine-container-manager -h libertine-container-manager command -h
DESCRIPTION
libertine-container-manager is a utility for managing Libertine containers used to support legacy X applications on Unity 8. It is possible to create new containers, delete containers, update containers, install new packages in a container, remove a package from a container, search for possible packages to install, and list all of the current containers.
OPTIONS
-q, --quiet do not print status updates on stdout -v, --verbose extra verbose output -h, --help Print a summary of the command line options and exit.
COMMAND OVERVIEW
libertine-container-manager create [options] Create a new Libertine container. libertine-container-manager destroy [options] Destroy (delete) an existing Liberine container. libertine-container-manager install-package [options] Install a package inside an existing Libertine container. libertine-container-manager remove-package [options] Remove an installed package inside an existing Libertine container. libertine-container-manager search-cache [options] Searches the apt cache inside an existing Libertine container for matches based on the given search string. libertine-container-manager update [options] Updates the packages inside an existing Libertine container. libertine-container-manager list [options] Lists all existing Libertine containers.
COMMAND REFERENCE
libertine-container-manager create [options] Options: -h, --help Prints help for this command and exits. -i ID, --id ID Container identifier. Required. -t TYPE, --type TYPE Type of Libertine container to create. Either 'lxc' or 'chroot'. -d DISTRO, --distro DISTRO Ubuntu distro series to create. -n NAME, --name NAME User friendly container name. libertine-container-manager destroy [options] Options: -h ,--help Prints help for this command and exits. -i ID,--id ID Container identifier. Default container is used if omitted. libertine-container-manager install-package [options] Options: -h ,--help Prints help for this command and exits. -i ID,--id ID Container identifier. Default container is used if omitted. -p PACKAGE, --package PACKAGE Name of package to install. Required. libertine-container-manager remove-package [options] Options: -h ,--help Prints help for this command and exits. -i ID,--id ID Container identifier. Default container is used if omitted. -p PACKAGE, --package PACKAGE Name of package to remove. Required. libertine-container-manager search-cache [options] Options: -h ,--help Prints help for this command and exits. -i ID,--id ID Container identifier. Default container is used if omitted. -s SEARCH_STRING, --search-string SEARCH_STRING String to search for in the package cache. Required. libertine-container-manager update [options] Options: -h ,--help Prints help for this command and exits. -i ID,--id ID Container identifier. Default container is used if omitted. libertine-container-manager list Options: -h ,--help Prints help for this command and exits
Libertine
Article in progress
This item is currently out of whazzup and gerne_weiteren_Interessierten created. The completion date is 31.12.2016.
Caution: In particular, this means that this item is not yet finished and that can even be wrong missing important parts, or. Please do not use this article as a guide for problem solving!
The following pages are helpful for understanding this article:
Ubuntu Touch
Table of Contents [-]
libertine 64.png Libertine allow installation from traditional X applications on Ubuntu Touch devices. With Libertine, containers are created and the X applications are then installed in this container. By encapsulating into containers, the actual system remains protected from the stability and security problems of the X applications.
Use
Use one hand happens in the Libertine app in which the containers are managed and the other part in the desktop app Scope of the applications are out started.
In the Libertine app, you can create new containers by tapping the plus symbol at the top right. Initializing a newly created container takes a few minutes. Existing containers can be deleted by wiping the container name to the right.
After creating and selecting a container, applications can then be installed and de-installed in the container. To do this, first wipe the container name to the left and tap the Edit icon.
After installing an application, it appears on the desktop apps Scope and can be started from there.
Libertine_1.png
Container management in the Libertine App
Scope_1.png
X apps start from the Desktop App Scope
Firefox.png
Firefox browser under Libertine
File Access
The folder ~ / Documents, ~ / Music, ~ / Pictures, ~ / Downloads and ~ / videos are accessible from Libertine apps. Thus files can be exchanged with the normal Ubuntu Touch System.
Open with - make a copy
Puritine
Pre-installed container on the M10
http://askubuntu.com/questions/76274 r-manager-exec
Command line usage
The command libertine-container-manager can be used to manage the container and the programs contained therein.
parameter description
--help Shows help and parameter overview. The individual sub-commands also have auxiliary outputs. Example libertine-container-manager create --help .
Create -i ID Creates a new container. The first container created automatically becomes the default container.
Install-package -p PACKAGE Installs the package. Example: libertine-container-manager install-package -p firefox
List apps Lists all installed applications.
Remove-package -p PACKAGE Uninstall the package.
Set-default -i ID Sets the default container firmly. By specifying -i ID the other commands can also be performed on non-default containers.
list List all containers.
update Updates the packages in the container.
destroy Deletes the container, including all programs.
For each container, a root directory as well as a user directory is created. Root directories can be found in the path ~ / .cache / libertine-container / CONTAINERID / rootfs / and user directories under ~ / .local / share / libertine-container / user-data / CONTAINERID /.
The CONTAINERID of the first container to be created with the Container Manager are: vivid. Accordingly, the directories: ~ / .cache / libertine-container / vivd / rootfs / and ~ / .local / share / libertine-container / user-data / vivid /.
Terminal access
Libertine is based on a chroot jail . There are two options for a Come Mando line in the chroot system of Libertine container to get. In order to get a command line as a normal user phablet you use the following command:
DISPLAY= libertine-launch CONTAINERID bash
In order to get a command line as root to use this command:
libertine-container-manager -i CONTAINERID exec bash
Such root shell can be helpful if Anhängigkeitskonflikte occurred with apt packages in the container.
Tweaks
installation
On devices where Libertine is currently not delivered, it can be installed with the following packages. But for this is the -make writable partition of system needed.
libertine
Python3-libertine
Python3-libertine-chroot
xmir
Libertine-scope
Wiki / Templates / Installbutton / button.png with apturl
Package list for copying: apt-get aptitude
sudo apt-get install libertine python3-libertine python3-libertine-chroot xmir libertine-scope
Folder embed
https://lists.launchpad.net/ubuntu-p /msg20322.html
Figured this out. Folders can be added here: .local / share / libertine-container / user-data / puritine
Of course, adding symlinms there will not work, and drag files. Bind mounting however works. I have a symlink in my / home / phablet directory called storage that links to the sdcard. So after adding Storage under the above directory:
Mount -o bind / home / phablet / storage /home/phablet/.local/share/libertine-container/user-data/puritine/Storage
Puritine apps can now access the sdcard through the file selection within the app. I suspect this will need to be rerun each boot, or run as a script.
Desktop file
In some places, as will be discussed in detail by hand .desktop files created for use by Libertine. For me, however, the icons appear just so in Libertinescope on without me would have even created a .desktop file. I think these discussions are from a time before the existence of Libertinescopes. Possibly it is still interesting to document that this is possible? Maybe not
https://lists.launchpad.net/ubuntu-p /msg19958.html
https://lists.launchpad.net/ubuntu-p /msg20622.html
https://lists.launchpad.net/ubuntu-p /msg20640.html
https://lists.launchpad.net/ubuntu-p /msg20645.html
https://docs.google.com/document/d/1 t? pref = 2 & pli = 1
http://packages.ubuntu.com/xenial/ar -demo / filelist
Keyboard layout?
http://askubuntu.com/questions/76274 er-exec / 763109
Scaling the display
Generally
DPI Change the setting of the XMir server.
echo "Xft.dpi:220" > ~/.local/share/libertine-container/user-data/vivid/.Xdefaults
220 gives a reasonable Scalierung on the Nexus 7. Here is 144 proposed. Other experiences?
LibreOffice
http://ubuntuforums.org/showthread.php?t=2321912
xterm
grep xterm ~/.local/share/libertine-container/user-data/vivid/.Xdefaultsxterm*faceName: DejaVu Sans Mono xterm*renderFont: truexterm*faceSize: 12
gtk
.config / gtk-3.0 / gtk.css
vergrößern
.scrollbar { /* up/down buttons on top */ -GtkScrollbar-has-backward-stepper: true; -GtkScrollbar-has-secondary-forward-stepper: true; /* up/down buttons at bottom */ /* -GtkScrollbar-has-forward-stepper: true;*/ /* -GtkScrollbar-has-secondary-backward-stepper: true; */ -GtkRange-slider-width: 50; /* width of the scrollbar */ -GtkRange-stepper-size: 50; /* size of up/down buttons */}
http://askubuntu.com/questions/77520 rmal-scrollbar Gtk-large-scrollbars.png
Firefox
With the Firefox extension "grab and drag" you can scroll up and down with wipes on the display.
VNC access
$ cat ~/.local/share/applications/libertine-vnc.desktop [Desktop Entry]Name=Libertine VNCType=ApplicationTerminal=falseX-Ubuntu-Touch=trueIcon=computerExec=/home/phablet/bin/libertine-vnc
$ cat ~/bin/libertine-vnc#!/bin/bashexport DISPLAY=:0x11vnc -forever -nopw -quiet -display :0
chroot
As an alternative to Libertine can also manually create a chroot create environment in the user directory. This is, for example, interesting for devices where Libertine is not installed. You can install command line applications in a chroot.
The following step describes how to create and use a chroot on an Ubuntu touch device. One needs a terminal access and need to edit some files. This can be done the editor nano use.
means
Setting up the chroot environment in the folder ~ / chroot:
mkdir ~/chrootcd chrootwget
http://cdimage.ubuntu.com/ubuntu-touch/ ... tar.gzsudo tar -zxf vivid-preinstalled-touch-armhf.tar.gz
Creating a script ~ / bin / chroot-mount to the necessary bind mounts perform:
#!/bin/bashsudo mount --bind /proc /home/phablet/chroot/procsudo mount --bind /dev /home/phablet/chroot/devsudo mount --bind /sys /home/phablet/chroot/syssudo mount --bind /run /home/phablet/chroot/run
Creating a script ~ / bin / chroot-login to open a command line in the chroot:
#!/bin/bashsudo chroot /home/phablet/chroot
Making scripts executable:
chmod +x ~/bin/chroot-mount ~/bin/chroot-login
use
Once the device is booted
~/bin/chroot-mount
Login to the chroot environment with
~/bin/chroot-login
Updating the package lists with
sudo apt-get update
Now packages as usual with apt be installed and used on the command line.
SSHFS use
In chroot can sshfs install and so make a list of a ssh server locally on Ubuntu Touch device available. This allows you to access both within the chroot, as well as outside the normal system.
A possible configuration is described with the following example:
Music files are located on the server in ~ / path / to / Music / Am / server and they should
be in the chroot / media / My / music accessible and
the normal system under ~ / Music / own / songs.
In the chroot:
Installing sshfs:
sudo apt-get install sshfs
The Enable allow_other:
sudo sed -i 's/^#allow_other/allow_other/' /etc/fuse.conf
or
echo allow_other >> /etc/fuse.conf
SSH key pair to create and make known to the server.
create a folder
mkdir -p /media/Meine/Musik
mount
sshfs user@server:Pfad/Zur/Musik/Am/Server /media/Meine/Musik -o IdentityFile=/Pfad/Im/Chroot/Zum/Privaten/Schluessel -o allow_other -o ro -o idmap=user -o uid=32011 -o gid=32011
The options are listed under {En}
http://linux.die.net/man/1/sshfs explained.
Now the files are available in chroot:
ls -lha /media/Meine/Musik
(Unhooking with
fusermount -u /home/phablet/Pfad/Im/Chroot
) "
Outside the chroot:
create a folder
mkdir -p ~/Music/Eigene/Lieder
Preferential unit Bind mount from the outside inwards:
sudo mount --bind /home/phablet/chroot/media/Meine/Musik /home/phablet/Music/Eigene/Lieder
To play music (or video) files in a subdirectory of ~ / Music / (or ~ / Videos /) were mounted in the scope must be made visible to even the media scanner to restart:
restart mediascanner-2.0
E: Sub-process /usr/bin/dpkg returned an error code (1)
办法如下:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak //现将info文件夹更名sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹sudo apt-get update
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak //现将info文件夹更名
sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
sudo apt-get update
在Linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不能直接拷贝
解决办法:递归拷贝 命令:cp -r bbs ../backup/bbs 解释:-r 这个options是递归的意思
举一反三:删除的时候也可能出现这种下面有文件不能删除的问题 也用-r 级联删除
chmod赋予权限的时候想级联也可以用-R 注意是大写的R
n the case where tried to install a file:
sudo apt-get install libstdc++.so.6
instead of a package. You get the error message:
E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'
because you tried to install a file libstdc++.so.6 that you can't install, because it is located in a debian package.
You can use apt-file to search for the package that contains that file. To install it, type:
sudo apt-get install apt-file
Then you have to update the index.
sudo apt-file update
After that, you can search for the package which contains the file libstdc++.so.6:
sudo apt-file find libstdc++.so.6
Then you find a lot packages that contains the searched file. For this example I paste only one search result:
libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Then you can install the needed package libstdc++6:
sudo apt-get install libstdc++6
1、打开终端,先删除旧的驱动:
sudo apt-get purge nvidia*
2禁用自带的 nouveau nvidia驱动 (important!)
创建一个文件通过命令 sudo vim /etc/modprobe.d/blacklist-nouveau.conf
并添加如下内容:
blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
3重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,再安装下载的驱动就无问题,
首先我们需要结束x-window的服务,否则驱动将无法正常安装
关闭X-Window,很简单:sudo service lightdm stop,然后切换到tty1控制台:Ctrl+Alt+F1即可
4接下来就是最关键的一步了:sudo ./NVIDIA.run开始安装,安装过程比较快,根据提示选择即可
找到.run文件,运行一下命令启动显卡安装程序
sudo sh xx.run
找到.run文件,运行一下命令启动显卡安装程序
sudo sh xx.run
/////////////////////////////////////////
注:
第四步:
一路next+OK下去,到提示系统只有Nouveau配置文件,需要禁用它并配置nvidia显卡配置要选是,默认是否。这里多谢Nvida对Linux的重新重视,以前配置这个需要自己手动禁用Nouveau驱动,然后还有一大堆配置,配置错一点就进不了图形界面。待NVida配置完成后,输入以下命令重启:
sudo reboot
第五步:
进入命令行界面,关闭当前图形界面,找到.run文件执行。一路Next,注意配置DKMS,这样在下次更新系统内核的时候就不必重装显卡驱动,DKMS会动态编译。同时配置xorg配置文件,配置xserver为自动启动
//////////////////////////////////////////
最后安装完毕后,重新启动X-Window:sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面;
如果安装后驱动程序工作不正常,使用下面的命令进行卸载:
sudo sh qd.run --uninstall
////////////////////////////////////////
依赖
安装nvidia的驱动,直接安装软件源里面的就行了吧,非要安装331这个版本吗?
上面的错误提示你先装上当前linux内核的源码包。
sudo apt-get install linux-source
一帮乱答一气的人。。。
lz是缺失了驱动的依赖kernel-devel。首先要安装kernel-devel才能继续安装驱动。不过kernel-devel是rpm的东西。
在ubuntu下,安装的不一样,打开终端,输入sudo apt-get install linux-headers-generic,安装好之后再安装驱动。
编译安装驱动很麻烦
///////////////////////////////////////////
I have worked out this problem by the following steps. I am on Ubuntu 14.04.
Download your specific Nviadia drivers from here. The driver name looks like NVIDIA-LINUX-X86_64-340.58.run.
# service lightdm stop, Ctrl+Alt+F1 switch to tty1, excute the command to stop X server with root priviledge.
/////////////////////////////////////////
找不到头文件的话方法1
# bash NVIDIA-LINUX-X86_64-340.58.run --kernel-source-path=/usr/src/linux-headers-3.14.21,then just following the UI directions, remember not to say YES with DKMS(have strange troubles for me).
it is better to do this step sudo apt-get install linux-image-extra-virtual,referenc link.
# service lightdm start and # reboot, everything is ok!
This take me many hours to solve, hope it can help someone.
Make sure you have updated version
Type the following apt-get command:
$ sudo apt-get update
OR as root user enter:
# apt-get update
Search for kernel version (optional)
Type the following apt-cache command :
$ apt-cache search linux-headers-$(uname -r)
Install linux-header package under Debian or Ubuntu Linux
解决依赖
Type the following apt-get command:
$ sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install dkms build-essential make
////////////////////////////////////////
This worked for me:
//////////////////////////////////////////
指定内核版本2
sudo sh NVIDIA-Linux-x86_64-190.53-pkg2.run -k $(uname -r)
OR for newer drivers
sudo sh NVIDIA-Linux-x86_64-195.36.24-pkg2.run -k $(uname -r)
//////////////////////////////////////////
HOW TO INSTALL THE LATEST NVIDIA DRIVERS IN UBUNTU VIA PPA
Author: Andrew | Posted: June 24, 2016 | Updated: June 24, 2016
Upgrading to the latest version of the proprietary Nvidia drivers in Ubuntu was pretty complicated a while back. You would either have to use the official Linux installer, which was not always reliable, at least for me, or use a bleeding edge PPA, like the Xorg Edgers PPA, which would upgrade multiple packages, most of which were unstable.
That's no longer the case thanks to the Proprietary GPU Drivers PPA, which offers stable proprietary Nvidia graphics driver updates, without updating other libraries to unstable versions (some libraries may still be updated using this PPA, if they are needed by the drivers, but there's nothing unstable in the PPA).
Despite its name, the PPA only provides proprietary Nvidia graphics drivers updates, with no support for AMD or Intel.
Even though the PPA is probably the most stable way of upgrading to the latest proprietary Nvidia drivers version in Ubuntu, it's still considered in testing. That means issues may still occur (though I didn't encounter any and I've been using it for some time), so you should only use this PPA if you have experience with recovering your system from a failed graphics driver upgrade.
I should also mention that the PPA provides packages for all supported Ubuntu versions (16.10, 16.04, 15.10, 14.04 and 12.04). At the time I'm writing this article, the PPA provides the latest long lived branch version (367.27) of the Nvidia graphics drivers for Ubuntu 16.10 and 16.04 and the latest short lived branch version (364.19) for Ubuntu 15.10, 14.04 and 12.04.
You can check the latest Nvidia Linux graphics drivers version by visiting THIS page.
Install the latest Nvidia graphics drivers in Ubuntu via PPA
1. Add the PPA.
Before proceeding, please read the PPA description!
To add the Proprietary GPU Drivers PPA in Ubuntu and update the software sources, use the following commands:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
2. Install (and activate) the latest Nvidia graphics drivers
sudo apt-get install nvidia-370-dev nvidia-cuda-dev
From System Settings or directly from the menu / Dash, open Software & Updates, click on the "Additional Drivers" tab, select the driver you want to use, and click "Apply changes":
After the driver is downloaded and installed, restart your system. That's it!
You can also install the latest drivers using Synaptic or from the command line. To see the available versions, you can use:
apt-cache search nvidia
or:
apt search nvidia
And look for the packages called "nvidia-VERSION", for instance "nvidia-367" for the latest 367.27 graphics drivers, and install it ("sudo apt install nvidia-VERSION").