SDRausty / termux-archlinux

You can use setupTermuxArch.bash 📲 to install Arch Linux in Termux on Amazon, Android, Chromebook and Windows. https://sdrausty.github.io/termux-archlinux/
https://sdrausty.github.io/termux-archlinux/
Other
756 stars 74 forks source link

how to login as non root user please #48

Closed JanuszChmiel closed 4 years ago

JanuszChmiel commented 4 years ago

Dear Mr Rausty, I have done my best to understand how to login as non root user by using startarch script, but I had no success. Please tell Me the secret. By The way, did you create some non root user during installation so su or other command would be used to switch between root and non root account at Arch Linux run time? Thank you very very much for yours advice.

SDRausty commented 4 years ago

some non root user

The command startarch help has the information that you have requested:

$ startarch help

startarch: Start Arch Linux as root.  This account is reserved for system administration.

startarch c[md] cmd: Run Arch Linux command from Termux as root user.

startarch u[ser]|l[ogin] user: Login as user.  Use startarch c addauser user first to create this user and user's home directory.

startarch r[aw]: Construct the startarch proot statement from exec.../bin/.  For example startarch r su will exec su in Arch Linux.

startarch s[u] user cmd: Login as user and execute command.  Use startarch c addauser user first to create this user and user's home directory.

startarch  2.0.56: DONE 🏁
JanuszChmiel commented 4 years ago

Oh thank you MR Rausty. I have even found out, how to force Orca to work in Arch Linux. It is only necessary to type dbus-launch orca. Unfortunately for Me, The creators of Speech-dispatcher for OArch Linux have decided to not compile this app with Libao support and as A result, it is not possible to use Orca at all. It is very very sad, because only Arch Linux packagers have invested so much programmers work that he has included Seamonkey. Shared memory is next issue. Userland contain native .so library which try to support some basic memory sharing functions. But it is not replacement of standard Linux environment memory sharing. Shared allocated memory is freed very sson after creation. As A result, Orca screen reader can not communicate with Gecko engine to get information about object. Iceweasel display many bugs related to buffers. So even Userland approach to shared memory allocations is not A replacement for standard Linux shared memory creations and allocations. Unfortauntely for Me, several versions of FIrefox strictly depend on shred memory. It would be A good for browser speed and memory allocations decreased MB of RAm allocated to this process, but it is total end for my dreams about using Orca with Firefox. Since it is not simply possible to download ARM64 Bit editions of Firefox some older versions. Every distro contain only one version not older.

SDRausty commented 4 years ago

Orca

How do you use Orca? Can you describd it plz?

Oh thank you MR Rausty.

You are welcome @JanuszChmiel

JanuszChmiel commented 4 years ago

I AM using Orca screen reader for X11 apps as follows. Arch Liux do not work for Me, thanks to Speech-dispatcher, which have not been compiled with Libao support. As A result, Orca which send data to speech-dispatcher speech server would functioning perfectly, but speech is silent for now. There is even more complicated problem when using sound in Arch Linux in general. It is not possible to use Pulseaudio for Termux by using IP or Unix sockets. Even when user install pulseaudio-alsa package, even standalone Espeak will not produce speech output. So other more complicated approach is required. I must run standard Pulseaudio from Arch Linux. Then I can use simple protocol by changing /etc/pulse/default.pa I must uncomment simple protocol loading line. Unfortunately, speech responsiveness while using this approach is not so fast like while using normal Pulseaudio which run from Termux. Simple protocol player and Pulsedroid players produces pauses. And this only work for standalone Espeak and other multimedia apps. But no for Speech-dispatcher. In this case, Arch Linux is special distribution, because Ubuntu and Debian do not require to use external Simple protocol related players for Android.

In Arch Linux, it is always necessary to launch Orca with dbus-launch by typing dbus-launch orca In other case, Orca will cause error related to Dbind and Dbus and Orca will not be initialized. To use reliably keyboard on AN android device with Orca, I have found two possible approaches.

  1. Use XVFB in combination with X11vnc app. X11vnc app support non shared memory by typing -noshm option. So it is possible to use it even from Android. XVFB do not require shared memory allocations at all, fortunately. The next big problem was to find reliable application for Android, VNC client app, which will support keyboard shortcuts. So when I press Capslock key or CTRL key on my Bluetooth keyboard code will be correctly detected by Orca screen reader. I have found Simple remote on Github by Mr Jordanov.

Because sending picture by using VNC allocates some RAM and requires more system resources, and because I do not see at all, I do not need picture at all. I only need to hear speech output and I need reliable keyboard support from An Android VNC client app. So I have found The second approach. I must install dummi video driver package is fortunately also on Arch Linux repository. And I can use xinit. So I must install xorg and dummi video driver.

It is necessary to use special xorg.conf and The following action. Special xorg.conf is here:

https://gist.github.com/divinity76/ce210b5dbcd9ea7d0585ac403caef577 Create the file /etc/X11/Xwrapper.config with the content /etc/X11/Xwrapper.config allowed_users=anybody

In this case I type as non root user xinit & dbus-launch orca & And I can use Openbox window manager. It run with no need to use work around related to problem while accessing /proc/stat file. So openbox & And I can run even mate by ping mate-session & LXDE is not accessible by default, lxappearance app is not accessible for Me to enable assistive technology support and app calls some shared memory function. The advantage of dummi driver approach is he fact, that I Am not allocating so much RAm like while using XVFB. My dream was to use my favourite Seamonkey app from Arch Linux with Orca. Unfortunately, thanks to shared memory, which is being intensively used by some .so libraries, which Seamonkey uses it is impossible. I would oly use browser, but not itsE-mail client. But I can use even Libreoffice apps without issues including spell checking support. All mate build in apps are also fully usable. Mate programmers did not use shared memory so much fortunately for Me.

JanuszChmiel commented 4 years ago

So my biggest problem is to solve speech-dispatcher issue. We can not solve shared memory, since even approach which is being used by Userland developer do not 100 % solve shared memory problem in Android. There is The only one possible solution. Use last older version of Firefox, not latest stable in ArchLinux repositories, which do not call shared memory. Unfortunately for Me, Debian and Ubuntu contain Firefox versions whih strictly depend on shared memory. When I have tried Debian from Userland, because shared memory must be destroied very shortly before its uses, Orca can not get needed info. When I have opened google.com Orca speak internal frame. So shared memory in regular Linux uses very probably other techniques.

But how to find Arch64 Bit edition of Firefox for Arch Linux which is a little older than The latest stable. I would also had to buy other device than Huavei, which do not uses partially case insensitive file system. Because in other case, Orca quick navigation routines which jump to specific object on WEB page do not have much nneded time to complete its job. As A result, Orca python modules display crash messages and I must press some quick navigation keys twich or more times. Proot Work around slowdowns quick navigation

But I would had to save some money to buy other phone with 4 GB of RAm or more.

JanuszChmiel commented 4 years ago

Does archLinux contain any command to download dependent libraries some equivalent to apt builddep package name? So I could try to recompile speech-dispatcher with Libao support enabled? I have tried all output methods supported by Speech-dispatcher. Alsa, Pulse, Libao. No oss or nas because it would not have sense. Test sound of spd-conf have worked. So Pulseaudio and simple protocol and some simple protocol client Android app is The solution for now, even not so ideal like when working with Debian, Ubuntu or Fedora.

github-actions[bot] commented 4 years ago

Stale issue message

SDRausty commented 4 years ago

Retesting the install feature is requested as, "Issues with Libreoffice #252" is open. Should device space be an issue with your device smartphone, wearable, smartwatch and more, please run this command:

bash setupTermuxArch re

This command should refresh the installation to the newest version for development, testing and the ux (user experience). Should space on device NOT be an issue please use the alternate directory install feature; setupTermuxArch h has more information about the alt directory install feature if device space is unlimited for this project; Cocurrent Linux versions on smartphone and more with the setupTermuxArch i option are possible. Please see option setupTermuxArch h for more information.