GithubHelp home page GithubHelp logo

appimage / docs.appimage.org Goto Github PK

View Code? Open in Web Editor NEW
38.0 38.0 41.0 1.02 MB

Source code of AppImage project's documentation

Home Page: https://docs.appimage.org/

License: Other

Makefile 1.24% Python 9.59% Shell 7.27% CSS 0.45% HTML 81.46%

docs.appimage.org's People

Contributors

aferrero2707 avatar alexmyczko avatar asashnov avatar azubieta avatar bkmgit avatar bobsynfig avatar bvschaik avatar claell avatar dandelionred avatar daquexian avatar fboender avatar ferdnyc avatar hashemim66110 avatar inventitech avatar itrooz avatar jgrisham avatar khrj avatar nmay231 avatar probonopd avatar pzhlkj6612 avatar reenignearcher avatar rockerboo avatar rogererens avatar sgpearse avatar taz8du29 avatar theassassin avatar thetumultuousunicornofdarkness avatar trilarion avatar yeonsh avatar zhmars avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs.appimage.org's Issues

"Other resources"?

Why was my carefully crafted content moved to "Other resources"?
I disagree with this. Please keep URLs constant, don't move my stuff to "Other resources".
I need to be able to link to stuff under URLs that don't change, and I don't want "other-resources" to be part of the URL.

Thanks!

Begin documentation with a simple copy&paste example

ok2cqr/cqrlog#110 (comment)

I'm sorry but I'm giving this up. After 12 hours of my daily work I'm trying to create just simple app image without any extra dependecies like mysql, libhamlib, xplanet etc. I found documentation but it's tons of information but there is no simple step by step how to. I'm sorry, but I'm not interesting about any internal functions, not yet. I just wanted to create simple image from cqrlog.AppDir directory produced by make DESTDIR='cqrlog.AppDir' with a desktop file and icon. No way without reading MB of documentation and manuals how it works internally. Maybe I'm too tired for this. I'm sorry.

We should have a simple copy&paste example as the first thing in the manual. All the details can follow thereafter for those who are really interested.

I feel with the author. He does not care about how AppImage works internally, he just wants to get an AppImage made as fast as possible without having to learn a lot about AppImage.

Decision tree and where to download the tools

https://twitter.com/freakboy3742/status/1161149221812072449

I have been told that AppImage is the new hotness for Linux Apps.
I have been able to download and run AppImages.
What I can’t find?

HOW DO INSTALL THE DAMN TOOLS TO BUILD MY OWN APPIMAGES?

A bright, shiny penny for anyone who can point me at the page of docs.

Most of the tools we use to make AppImages are, well, AppImages, and hence do not need to be installed.

Ok… and how was I meant to know that? Point me at the page of documentation that says “These tools are all avaialble as AppImages from , and can be safely downloaded and executed directly.

For example:

“To build an AppImage from a .yml description file, simply run bash -ex ./pkg2appimage recipes/XXX.yml”.

Excellent. Now where does pkg2appimage come from?

The high-level tools are mostly from third parties and not from the AppImage project itself:

Our tool is running "under the hood" but if you really want you could use it directly, too:

OMFG I cannot begin to tell you how much those docs don’t help.

For example: Riddle me this: Why, in multiple pages of documentation, there is no mention of how to install the toolchains?

If you mean with "toolchain" the compilers and such, we don't cover those because AppImage is just a container format that executes whatever you put inside it (think of it as a fancy self-mounting filesystem image). Just like CD-ROM authoring tools don't explain how to make the files that go into a CD-ROM, we don't go at length on how to make the files that go into an AppImage.
If you mean with "toolchain" the tools to turn binaries into AppImages, I hope the links above point you into the correct places.

Let us know if you are stuck, AppImage developers are on #AppImage on irc.freenode.net and are usually helpful in solving almost any challenge (just be a bit patient since we do this in our free time).

linuxdeploy is also available on ARM

https://docs.appimage.org/packaging-guide/from-source/native-binaries.html#bundling-resources-into-the-appdir currently says "At the moment, AppImages are provided for x86/i386 and x86_64/amd64 architectures, as other platforms cannot be targeted properly on the build service. The tool itself should support all major platforms, including ARM. You can compile linuxdeploy yourself to test it. Contributions adding new platforms welcome!".

However looking at the current linuxdeploy releases, armhf and aarch64 downloads are also available 🙂 So the documentation needs a small update.

Documentation needs to be updated for Ubuntu 22.04 / Fuse section

The current instructions are not valid anymore and could lead to break the system.

'libfuse2' can live along fuse3 but we should not attempt to install the package 'fuse' nor to do all the rest with groups/modprobe...

Tested with a fresh 22.04, the only required step is:

sudo apt install libfuse2

If the users follow "blindly" the current instructions, they could think the format is responsible of the damages!

Dunno - AppImage have a quick tutorial ?

Hi there, i want to create an AppImage from Source of the projects
DOSBox-X
m64p-netplay-server

Trying to read the documentation in :
https://docs.appimage.org/packaging-guide/converting-binary-packages/pkg2appimage.html

Looks like just works with debs packages

And trying to read this another doc :
https://docs.appimage.org/packaging-guide/from-source/native-binaries.html

I don't understand this example :

# get the source code
> git clone https://github.com/linuxdeploy/QtQuickApp.git
> cd QtQuickApp

# create out-of-source build dir and run qmake to prepare the Makefile
> mkdir build
> cd build
> qmake ..

# build the application on all CPU cores
> make -j$(nproc)

# use make install to prepare the AppDir
> make install INSTALL_ROOT=AppDir

In which moment the AppDir was created ? i specify this example because m64p-netplay-server must be compile against to qmake (qt5.8)

I just need a very specific instructions for example
1 - Download
2 - Create this Directory Structure
3 - Create this basefile.yml
4 - Use the tool (1) this way
5 - change the permissions & Test the generated AppImage.

Missing Desktop entries in docs

I have found the list of desktop entries introduced for AppImage purposes, and I think this list is not full.

I have integrated some packages using libappimage and in created desktop entry are entries not listed in docs:

[Desktop Entry]
Name=Auryo (2.5.4.503)
Exec=/home/pawel/Downloads/Auryo-2.5.4.AppImage
Terminal=false
Type=Application
Icon=appimagekit_28f0b030a2d65b08dddd1e5b5b60587e_auryo
StartupWMClass=Auryo
X-AppImage-Version=2.5.4.503
Comment=Listen to SoundCloud\u00ae from the comfort of your desktop. Use keyboard shortcuts to navigate through your music. Be more productive.
MimeType=x-scheme-handler/auryo;
Categories=Audio;
TryExec=/home/pawel/Downloads/Auryo-2.5.4.AppImage
X-AppImage-Old-Icon=auryo
X-AppImage-Old-Name=Auryo
X-AppImage-Identifier=28f0b030a2d65b08dddd1e5b5b60587e

Unclear licensing

At all contributors:

This project has no clear licensing for its contents. I would like to make these docs available under the terms of the CC-By 4.0 Intl license (a rather liberal license).

I need every author with significant contributions to agree on this. Please answer to this issue whether it is okay for you to license your contributions under this license, or if you want to have them removed again.

  • @probonopd contributed some initial Markdown documents which were later converted to reST, as well as a few pages.
  • @Taz8du29 converted most of the Markdown pages to the superior reST, with a few fixes and other minor contributions.
  • @aferrero2707 provided some fixes and other smaller contributions
  • @Inventitech contributed one paragraph on how to update applications in AppImageHub

The remaining contributors mainly fixed typos and syntactical errors. I assume it is no problem copyright wise to license these, as they are, in comparison to the remaining works, insignificant changes. However, I highlight you so you can have a look yourself, since I think that is good style. @claell @asashnov @zhmars @fboender @daquexian @dandelionred @alexmyczko @Trilarion

Please provide feedback until May 31, this issue should be sorted out very soon.

Generate PDF/ePub files and publish them along with HTML version

Some users request "offline formats" which allow for downloading the docs to read them while not connected to the Internet.

Sphinx allows for generating PDF/ePub files, and it shouldn't be very much of a problem to generate those in our build system and publish them along with our HTML pages.

We need to put a comment there, though, which warns users that the information might get outdated. Since we don't version our docs, you can't really tell when docs have changed, so the files should at least have the date of generation or so (and maybe the short commit hash) in their filename.

Explain what to do if example commands fail

When following the FUSE troubleshooting steps, the docs say to do

> sudo modprobe -v fuse

but the author assumes this works, and does not explain how to proceed in case of a response of

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-43-Microsoft

As you may have suspected, this is the result when following your guide on Ubuntu as installed on WSL, where unfortunately modprobe and kernel modules in general are not supported. Up till this point, nothing in the docs has indicated that using WSL means AppImages will not work at all ever.

Suggestion to improve the docs would be to either indicate up front, e.g. as one of the linux flavours, that WSL does not support AppImages.

By extension, it would be nice if the guide for using an AppImage without fuse would explain which file to run after --appimage-extract, since I now have a directory full of files, many of them executable, but none clearly named after the program I want to run.

Add a chapter about the environment for 'appimaged' applications

How stringent is the sandbox?
What filesystem can they access? How can access be given to data or configuration directories?
What network to they have access to? Is the hostname/ip/routing any different from native applications?
How can an application from inside an appimage run another application installed on the system (appimaged or native)?

SSL Certificate expired

As of 0134 UTC, 10 May 2023, https://docs.appimage.org and https://appimage.org are raising SSL errors due to an invalid certificate.

SSL Certificate Expired

Your SSL certificate expired today 23/12/2019. Looks like your lets-encrypt script to renew it isn't triggering in time or stopped working.

I am also located in Australia if that helps since we are day ahead date wise.

Confusion between https://www.appimagehub.com and https://appimage.github.io/

Some AppImages on https://appimage.github.io/ seems to not be on https://www.appimagehub.com/ (I searched for ImHex), so I take it they are two different stores.
The documentation seems to refer to your store as "AppImageHub", and link to https://github.com/AppImage/AppImageHub , but it redirects to https://github.com/AppImage/appimage.github.io

My question is : What is https://www.appimagehub.com/ and how does it relate to https://appimage.github.io/ ?

Consider using MyST

Currently we are using reStructuredText for docs.appimage.org but some users (including myself) strongly prefer Markdown.

reStructuredText offers more powerful features but also has an entirely unfamiliar (at least to me) syntax, resulting in me avoiding to touch the documentation altogether.

MyST could be the solution:

The MyST-parser is a Sphinx parser for the MyST markdown language. When you use it, Sphinx will know how to parse content files that contain MyST markdown (by default, Sphinx will assume any files ending in .md are written in MyST markdown).

It allows one to use directives in Markdown.

It is even possible to use both MyST and reStructuredText.

https://myst-parser.readthedocs.io/en/latest/using/intro.html#intro-writing

Most OBS links are broken

Add section on how to make AppImages of Qt apps look native on Gtk

Add section on how to make AppImages of Qt apps look native on Gtk based on

Proposal:

Making AppImages of Qt apps look native on Gtk

Here is an example of a native-looking Qt application running on a Xubuntu (Xfce-based) distribution in an AppImage:

image

To make AppImages of Qt applications look native on Gtk based systems, you need to bundle plugins/platformthemes/libqgtk2.so and plugins/styles/libqgtk2style.so. Since they do not come with Qt by default anymore, you need to compile them by hand.

Example:

apt-get update
apt-get -y install libgtk2.0-dev
git clone http://code.qt.io/qt/qtstyleplugins.git
cd qtstyleplugins
qmake
make -j$(nproc)
make install 
cd -

(...)

linuxdeployqt (...) -extra-plugins=platformthemes/libqgtk2.so,styles/libqgtk2style.so

At runtime, you need to export QT_QPA_PLATFORMTHEME=gtk2, e.g., by adding this line to a custom AppRun script. (Xubuntu exports this variable automatically).

Background information

According to https://askubuntu.com/a/910143,

The problem has occurred since Qt5.7. In this release, the GTK2 platform theme and style was removed and replaced with the GTK3 platform theme. I've recently been in discussion with the Qt developers and it appears there isn't a GTK3 style to complement the platform theme and there are currently no plans to implement this in the future.

References

Make better use of internal resources

We should replace external links with internal ones to descriptions we maintain in the docs, if there are such information. There's a lot of examples with links to projects we describe briefly in other sections of the documentation.

That way, if a link breaks, you just have to fix them once, which makes maintaining a lot easier.

Create a simple "how to run an appimage" page

in the documentation there is a longer page that starts very well, but then goes on with "scary" details:

https://docs.appimage.org/user-guide/run-appimages.html

on the main page there is a link to a youtube video with instruction only for the the terminal.

it would be nice to have a single page with first section of the docs on running Appimages plus the videos that can be linked from projects that are using Appimages. (without any reference on how to unpack an appimage file... : - )

Arch FUSE install instructions

It is very important to note that the fuse2 package (provided by the extra repository) is NOT part of the Arch Linux base, nor is it a direct or indirect dependency of any packages in base. On my system, pactree -r fuse2 shows that fuse2 is depended on directly or indirectly by erofs-utils, exfat-utils, ntfs-3g, flatpak, python-llfuse, and libappimage, among a few others. I of course have many packages that optionally have an indirect dependency on fuse2, but it is always sensible to assume that Arch users will not install all the optional dependencies of all their software.

The bottom line is that, curiously, the Arch FUSE problems section of the FAQ states "On Arch Linux, FUSE should work already." This assumption is far LESS likely to be true on Arch, which installs almost absolutely nothing by default, than for basically any other distribution!

The FAQ should really just say
sudo pacman -S fuse2

Consolidate info about hard-coded paths

There seems to be two different sections where hard-coded paths are mentioned. I suggest it might be better to consolidate and merge the information. I'll do this if you'd like, but I need to know how you would like it consolidated.

Maybe move the info from here and merge it onto the reference page. Then add a link to the reference page?
https://docs.appimage.org/packaging-guide/manual.html#no-hard-coded-paths

https://docs.appimage.org/reference/best-practices.html#binaries-must-not-use-compiled-in-absolute-paths

Better describe registering and desktop integration process

I think it would be good to properly describe what is done during desktop integration process done using AppImageLauncher, and what are differences between it and using simple registering with libappimage (appimage_register_in_system()).

https://docs.appimage.org/reference/desktop-integration.html

I have already asked these questions to @probonopd on AppImage discourse, but I think it would be good to add these answers to docs to make integrating AppImages into stores easier.

Documentation about supporting update channels

I saw two brief hints to update channels in the documentation about AppImage updates

Releases should always update to releases, nightlies always to nightlies, etc. (“channels”)

Whenever` the application encounters issues (e.g., a crash reporter comes up) it could ask the user to check for updates, and accept bug reports only if no newer version is available in the channel

But it didn't find any more information on update channels. I'm currently trying to add an update system supporting channels on an AppImage I'm working on and such information might be usefull. I'm willing to propose a PR with such documentation if I can gather info about it.

As far as my understanding goes, there is no builtin channel support in the AppImage spec or any update tool. The maintainers of an app should upload multiple AppImages on their servers and can choose to "target" the update link on whichever file corresponds to the latest AppImage of the selected channel ? Or is there another way to support update channels I'm not aware of ?

If anyone is aware of a project that already has such a system in place I'm interested in looking into it and to document at least one good use case of such a workflow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.