SDRausty/termux-archlinux

Let's expand setupTermuxArch so users can install Orca screen reader (assistive technology) and also have VNC support added easily.

JanuszChmiel opened this issue · 26 comments

Because ArchLinux is very matured Linux distro with many many modern up to date packages,it is time to extend yours script to directly support visually impaired users. And because I have been overloaded you about shared memory, it is time to show, that I can also participate by adding some important commands to you.
The option for setuptermuxarch would be Orca
When visually impaired user would start yours script with Orca word, The needed Bash script code should do The following thinks
From Termux side, no from ArchLinux Guest perspective
apt update
apt upgradeapt install pulseaudio sox
apt clean
Then The script should do The following: add those lines to The termux profile script
pulseaudio --start --exit-idle-time=-1
pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1

Script should start Pulseaudio immediately after The code have been added to The script. It is important to determine, if it is possible to add those two lines one by one or if is it necessary to add some other command to ensure, that Pulseaudio will work.

From The perspective of Arch Linux guest system setup script will finish The upgrading process The code should install The following packages.
tigervnc
mate
mate-extra
orca
pulseaudio-alsa
espeak-ng
The script should add The following lines to /etc/profile
export DISPLAY=:0
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export PULSE_SERVER=127.0.0.1

The /usr/bin/mate
script should contain The following routine.

vncserver -kill :0
vncserver -extension MIT-SHM -localhost -geometry 1024x768 -depth 24 -name remote-desktop :0 -SecurityTypes=None

Then I do not know how to auto start mate-session automatically. How to detect, that tigervnc have allready finish its initialisation job.
Mate-session contain extension which is older than 1 month which do not allow to run it by typing mate-session &

If C code detect that & have been used, mate/session suspend all its sub processes. This unsoft feature have not been presented in March or April.
Problems to resolve.

  1. when all packages related to Orca support will be installed, script would had to enable assistive technologyes support and add some setting to gconf so Orca would had to run automatically when Mate-session will be loaded to RAM.
    Because Mate have been designed mainly for desktop computers, so he crucial hot keys such as ALT+F1 or ALT+F2 are not usable from Android. Scan codes differs. And visually impaired user can not use those important hot keys from Mate desktop to run Orca.
    The solution is to run mate-control-center and use hot keys settings to change The crucial keys.
    The very well accessible Android VNC client is BVNC Pro or free.
    I have bought BVNC Pro since author have prepared fully accessible GUI even with accessible keyboard and app is very fast and support hot keys combination including CAPSLOCk or others and it is very important for Orca screen readers users.

Pulseaudio-alsa is needed to enable mate sound effects. SOund effects will not work without this extension. Espeak package also depend on pulseaudio-alsa. If this feature is not presented, speech-dispatcher 0.9.1 will refuse to work with Espeak. Espeak is currently Theonlyone reliable international engine for producing speech with Orca. Because work reliably also on The speeds higher than 75 when setting it with Orca preferences.

Tigervnc support as A onlyone XVNC solution for Linux reliably combinations such as SHIFT+TAB or TAB.
My real goal is to use ARchLinux in combination with Termux to prepare fully automated solution which will allow visually impaired Android Linux users to run Mate and Orca.
Mate-power-manager must be removed.
It has issues with chroot environments and some C library display errors with long Hexadecimal number list and it is not welcomed.
FOrtunately, pacman allow us to remove this
pacman -R mate-power-manager
Seamonkey is perfectly accessible and support WEB browsing, HTML editor, E-mail client and IRC chat and address book in one process.
Many mate apps are working including archive manager, Caja. There are some issues with Mate, since mate-session communicates with system bus, as A result, console coutput contain many error because of it, but those errors are not fatal and Mate run reliably.

The automated solution would be derivated from Termux Alpine or from No root Debian.
No root debian contain Xserver XSDL and thanks to unsoft AOSP modules in Android newer than 6, ckeyboards ahe very unsupported.
This is The reason why I have started to use vnc protocol instead.

@JanuszChmiel can you share something similar to, "[Tip] Workaround to get systemctl commands working on TermuxArch" to aid expediting this request?

I am reading through your notes once more at the beginning of this issue. Is there a way that you could just make a simple script which does this, and share this script here?

If you cannot get all the pieces just right, that is not so important. Hopefully, the parts you might be missing will fall into place...

have VNC support added easily.

Have you tried https://github.com/angristan/openvpn-install? Here are some excerpts from the README.md file.

OpenVPN installer for Debian, Ubuntu, Fedora, CentOS and Arch Linux.

This script will let you setup your own secure VPN server in just a few seconds.

Compatibility

i386 amd64 armhf arm64
Arch Linux

I haven't gotten around to testing it. You might want to try it @JanuszChmiel. It seems to fit have VNC support added one of your request.

@JanuszChmiel hopefully I will find the time to create a script shortly, and update. You wouldn't happened to have a suggested name for this installation stcript we are working on, would you?

The commands cat and ls can be used inspiration for the being sought:

cat ~/bin/*
ls ~/bin/

I'm not sure if the results of these commands will be inspiring. Maybe they will be helpfull, and we'll find a name for this new invention/script that were working on easily.

If you are still thinking of the name for the configuration script, please keep in mind name collisions. We should try to keep this in mind when we can. It is important if you can begin with a letter that is not there in the ~/bin directory at all. That is all the better.

New user legibility is also important. Does the name remind itself of what the user wants to do a couple months from now? Short and sweet is beautiful in this case isn't it?

Thank you for the suggestion @JanuszChmiel! The name orcaconf sounds very good for this configuration script. The initial version of orcaconf will be ready for testing shortly; I will share the news of the commit here when it is.

@JanuszChmiel you might not realize this; You are inspiring me! Thank you! One of these inspistions has been to open this QEMU implementation #25 issue. You might be wondering, "How did I accomplish this?"

Many a time I have heard from users of the environment that we choose to use in our smartphones, "It is not supported by the architecture in my device." I have received this statement from you more than once. Theoretically the QEMU issue that I mention resolves these numerous architecture requests. Please take a look at it for it might do wonders on your device, and mine too!

There is a trade-off for using QEMU, and another issue that I have run into while implementing this QEMU partially implemented feature is that all the variants do not seem to work as intended.

The initial version of orcaconf will be ready for testing shortly

This 79085cd commit adds commands mateconf and orcaconf. Neither has been extensively tested. You are welcome @JanuszChmiel to give these new configuration commands a try; Please share your comments here.

This commit a60b0ac enhances support for orcaconf. It is ready for retesting.

orcaconf. It is ready for retesting.

The command orcarun can be used. It will use orcaconf if orcaconf was not used by the user to install Orca screen reader. Should the visually impaired user choose to use PRoot with QEMU architecture emulation, the new v option is currently being developed:

The user does not need to choose the optimal emulation type as this is now derived from the smartphone:

  1. 32-bit defaults to x86
  2. 64-bit defaults to x86_64

There is more information about the new setupTermuxArch option currently named visualshortcut at this TermuxArch/TermuxArch#34 link.

testing excellent yay

The current tests with native architecture work ok! Usually it is one tap. Manually choose the Yes answer +tap. Then tap the screen a couple times more.

When using emulation, the tests usually fail. If not completely. "Wow, yay didn't build; and I tried and tried again and again," is often the case found on armv7l and aarch64 for x86 and x86_64 emulation. Never is it as easy as on native architecture. The PRoot root account must be employed.

This has me seeking through the alternatives to yay. This is a very time and resource consuming matter which can give dividends, both with emulated and native configuration after installation. Do you agree with these findings @JanuszChmiel?

@JanuszChmiel please see https://serviceanimals.github.io/Harper/

I just lost (bullets) mine; Do you have a guidedog? If not, why?

I'm getting this error when trying to use this, ./setupTermuxArch v i x86 command; How about you?

Updating mirrorlist from https://git.archlinux32.org/packages/plain/core/pacman-mirrorlist/mirrorlist.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Warning: Failed to create the file
Warning: /data/data/com.termux/files/home/x86/etc/pacman.d/mirrorlist: No such
Warning: file or directory
100 1363 100 1363 0 0 2123 0 --:--:-- --:--:-- --:--:-- 2119
curl: (23) Failure writing output to destination

VNC support added easily.

Hi, I am visually impaired I would love to use the Orca screenreader with arch with the scripts that you have provided. I have installed arch into termux and ran orcaconf in arch. It says it was successful. How do I continue? I assume I need to start a Vnc server. when I run vncserver, it says something about a display, but when I try to use a Vnc client to connect to local host it is unable to connect saying connection refused. What am I doing wrong? Any help would be greatly appreciated. Thanks.

_Originally posted by @willbilec in TermuxArch/TermuxArch#36

Stale issue message