Running Kraft in ChromeOS #182
Unanswered
noseshimself
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
(this is intended to become part of the Kraft manual if that's acceptable for the team)
(Caution, wet floor -- this is work in progress)
Why ChromeOS
ChromeOS is a very stable and safe desktop operating system running on relatively inexpensive hardware. While I'm running a Qubes desktop system for my daily work I put my "office environment" handling not that sensitive material onto something less demanding and cumbersome. And you can (after setting up Kraft) avoid nearly any contact with "raw Linux" which might make Kraft the perfect choice for even more potential users.
Limitations
As there are no AppImages for ARM processors yet the requirements demand a not that low-end x64-based systems but in theory this would be working on a low end system, too. Kraft is working reasonably well on 4 GB memory (the absolute lowest end of the hardware spectrum) (verified on the entry Lenovo ThinkPad C13 with 64GB eMMC and 4 GB RAM) this is restricting you on the applications you can open while running Kraft as ChromeOS has not traditional swap storage and is limited to its available RAM.
Installation
ChromeOS
General instructions for running Linux applications on ChromeOS can be found here.
Open the Settings app, select "Advanced", sub-item "Developers". There should be an item "Linux development environment". If you have never used it there will be a button "Turn on". Press it and wait. ChromeOS will now install the Linux VM named "Termina" (just in case you should ever stumble across this name).You should have no business with this machine at all (although you can open a terminal on it).
Inside this virtual machine ChromeOS will create containers, the first default one named "penguin". If you want to have everything inside that container, fine. I chose to have all my office stuff inside a separate container named "office".
As soon as the Linux VM has been installed the "Turn on" button turns into an arrow leading to a sub-menu for administration and maintenance of Linux containers; create a container "office" for your Kraft environment.
Kraft
AppImage
Download the Kraft AppImage from the download page or from this repository. Launch the File Manager ("Files") and open "My files". Select "Downloads" and use the right mouse button to select "share with Linux".
Launch your Linux container using the terminal application "Term" which will show you a list of your current containers. If the container is not already running it might take a bit for it to become available. Copy the downloaded AppImage from /mnt/chromeos/MyFiles/Downloads/ to /usr/local/bin (remember to use sudo for it) (at this point creating a link to that location for other purposes might be a good idea). Make the file executable using "sudo chmod 755 /usr/local/bin/Kraft-xxx.AppImage". At this point you should be able to launch it by entering its name.
Required packages
In order to be able to run Kraft you need a few more packages the AppImage expects to be available:
It is possible to use an alternative PDF viewer (evince, zathura, okular...); my personal favorite is evince. To set a different default PDF viewer in your container you need to tell the desktop environment about your choice:
Adding Kraft to the Launcher
Create a file
Kraft.desktop
[] containing(use the actual AppImage name here) and copy it to
/usr/share/applications
. As soon as the file is there Kraft will show up in your Launcher.Debian package
It is not recommended to use the Debian package -- it is so old that it might ask for the right to vote. There is a more recent but still very outdated version in the testing repository. If you want to use it nevertheless just install it using
pkg install kraft
. But don't expect your database to be usable by this version if you share it with a current AppImage.Cloud synchronization
Find the appropriate (Debian) Linux client. The usual suspects (Nextcloud, Owncloud...) are part of the apt collection but at least in the case of Nextcloud it is (you guessed it) OLD. It's better to download the Nextcloud AppImage and copy it into
/usr/local/bin
. Keep in mind that the Linux environment is not a complete GUI: If you do not want to authenticate your client every time you launch it you will also have to install alibsecret
provider as the client needs a place to store its authentication secrets. Depending on your preferences you'll have to install seahorse (the KDE component) or gnome-keyring (or even KeePassDX). If you want to install akonadi (or parts of it) you will need these components, too. A great help is the packagestalonetray
which is intended for window managers without a place to store these pesky icons some background tools insist on creating.Configuration files
If you are using a cloud storage service it might be necessary to store your Kraft Data in another location as the cloud service client might not be able to add arbitrary files or directories.
Printing
Running
Additional tools
Mail
Cloud Storage
As I'm a bit partial to NextCloud I will describe my NextCloud setup here. Owncloud should be mostly the same. Other cloud services (except Google's own which is tightly integrated into ChromeOS if you let it in at all) might be more of a pita. Being a typical Linux desktop application kraft is using the standard locations .config and .local/share as default storage locations for its configuration files and application data.
It's a good idea to create a common root for everything Kraft in your synced directory which will also contain per user and machine directories to move the files
.config/kraftrc
and.config/kraftdatabaserc
, linking those files to~./config
where kraft is expecting them. If you move the local sqlite database to a new location (don't forget to adapt.config/kraftdatabaserc
!) keep in mind that it will grow over time and create considerable data traffic.The modified kraftrc should contain
My synchronization folder contains a subtree Kraft with the following directories:
(username)/(machine name) [the kraftrc, kraftdatabaserc and myidentity.vcd for user and system are linked here]
Archive [archived/exported Kraft documents in XML format]
'Corporate Identity' [printed paper/backgrounds for document rendering]
database [during tests the Kraft database was stored here]
Fonts [local offline storage of font files for the document rendering engine]
PDF [print-ready PDF files]
Reports [the template files for the rendering of print output]
Android
Just install the Android app for your cloud server but remember that it might not keep a (modifiable) local copy of your files (the NextCloud app does not, it is purely a comfortable client for your server right now).
ChromeOS
It is easy to install the "Nextcloud (unofficial)" Chrome Extension and to connect to your NextCloud instance. This is giving you full WebDAV access to your file storage and is permitting you to copy files from your Linux container to your cloud archive. AS with all online file systems it can't be shared with Linux or Android containers.
Beta Was this translation helpful? Give feedback.
All reactions