Subcategories

  • This section is specifically useful for new contributors on the project

    7 Topics
    1 Posts
    DiogoD
    This Category is for those starting to contribute for the UBports Project and Community. By contributing, we mean doing things like: coding quality assurance (testing, bug reporting and validation, etc...) translations app development and maintenance writing and validating technical documentation and user manuals UBports social media and marqueting etc... If you want to contribute in these ways or others and have questions about it, like how to get started, where can you find information, please leave your questions in this category and we will try to answer them the best we can.
  • Discuss and solve problems with other users

    90 Topics
    645 Posts
    developerbaymanD
    @bearbobs sorry for the late reply its been busy with work...did you have to host the emulationstation?....because not sure how to host from within a clickable.....Iv seen the project before but have not really done anything with it....if it runs totally client side its do able....but if it needs hosting I don't think it can be done....the nes I'm working on is a heavily modded JavaScript emulator runs totally client side i added touch support fixed up the audio and added a lot of mapper support.....one big issue is the webview out of the box is....well lacking...if you load mario you will see black squares around the clouds and other sprites...not the emulator but the webview....
  • 133 Topics
    934 Posts
    developerbaymanD
    @captainfunk try this #!/bin/bash # # Usage: # To install and set up: ./waydroid_shared_folder.sh --install # To perform mount only: ./waydroid_shared_folder.sh --mount (used by cron) # To perform chown only: ./waydroid_shared_folder.sh --chown (used by cron) # To uninstall: ./waydroid_shared_folder.sh --uninstall # To display help: ./waydroid_shared_folder.sh --help # # --- Configuration --- # Define the paths for the shared folders. # ~/shared is the folder on your Ubuntu Touch host that you will use. SHARED_DIR_HOST="$HOME/shared" # ~/.local/share/waydroid/data/media/0/shared is the corresponding folder inside Waydroid. SHARED_DIR_WAYDROID="$HOME/.local/share/waydroid/data/media/0/shared" # The primary user on Ubuntu Touch. USER_PHABLET="phablet" # The name of this script, used for cron job identification. SCRIPT_NAME=$(basename "$0") # The absolute path to this script, essential for cron to execute it correctly. SCRIPT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)/$SCRIPT_NAME" # --- Functions --- # Function for logging messages to stdout with a timestamp. log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" } # Function to create the necessary shared directories if they don't exist. create_directories() { log "Creating shared directories..." # Create the host shared directory. mkdir -p "$SHARED_DIR_HOST" # Create the Waydroid internal shared directory path. mkdir -p "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Directories created successfully." else log "Error creating directories. Please check permissions or disk space. Exiting." exit 1 fi } # Function to perform the bind mount operation. perform_bind_mount() { log "Attempting to bind mount '$SHARED_DIR_HOST' to '$SHARED_DIR_WAYDROID'..." # Check if the Waydroid shared folder is already mounted to avoid errors. if mountpoint -q "$SHARED_DIR_WAYDROID"; then log "Folder '$SHARED_DIR_WAYDROID' is already mounted. Skipping bind mount." else # Use sudo to perform the bind mount, linking the host folder to the Waydroid folder. sudo mount --bind "$SHARED_DIR_HOST" "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Bind mount successful." # Immediately set initial permissions after a successful mount. set_folder_permissions else log "Error: Bind mount failed. This could be due to incorrect paths, Waydroid not running, or insufficient sudo permissions." log "Ensure Waydroid is running and '$SHARED_DIR_WAYDROID' exists inside its 'data/media/0' structure." exit 1 fi fi } # Function to unmount the shared folder. unmount_folder() { log "Attempting to unmount '$SHARED_DIR_WAYDROID'..." # Check if the folder is currently mounted before attempting to unmount. if mountpoint -q "$SHARED_DIR_WAYDROID"; then # Use sudo to unmount the folder. sudo umount "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Unmount successful." else log "Error unmounting folder. This may happen if files inside are in use." log "You might need to manually unmount or reboot if it persists." exit 1 fi else log "Folder '$SHARED_DIR_WAYDROID' is not mounted. Skipping unmount." fi } # Function to set the ownership of the shared folder and its contents. set_folder_permissions() { log "Setting permissions for '$SHARED_DIR_WAYDROID' to '$USER_PHABLET:$USER_PHABLET'..." # Use sudo and the -R (recursive) flag to ensure all files and subdirectories # within the mounted shared folder are owned by the 'phablet' user. # This directly addresses the issue of Waydroid changing ownership. sudo chown -R "$USER_PHABLET":"$USER_PHABLET" "$SHARED_DIR_WAYDROID" if [ $? -eq 0 ]; then log "Permissions set successfully." else log "Error setting permissions. Check sudo permissions or ensure the path '$SHARED_DIR_WAYDROID' is valid." exit 1 fi } # Function to add cron jobs for persistence and continuous permission management. add_cron_jobs() { log "Adding cron jobs for persistence and continuous permission management..." # Get current crontab, add new entries, sort, remove duplicates, then set new crontab. # @reboot: Executes the script with '--mount' option every time the device reboots. # * * * * *: Executes the script with '--chown' option every minute to correct permissions. (crontab -l 2>/dev/null; \ echo "@reboot /bin/bash \"$SCRIPT_PATH\" --mount"; \ echo "* * * * * /bin/bash \"$SCRIPT_PATH\" --chown" \ ) | sort | uniq | crontab - if [ $? -eq 0 ]; then log "Cron jobs added successfully." log "They will run from this script's current location: $SCRIPT_PATH" log "IMPORTANT: Do NOT move or rename this script after installation, or the cron jobs will fail." log "You can verify the cron jobs by running: crontab -l" else log "Error adding cron jobs. This could be a cron service issue." exit 1 fi } # Function to remove cron jobs added by this script. remove_cron_jobs() { log "Removing cron jobs related to this script..." # List current cron jobs, filter out lines containing this script's path, and set the new crontab. crontab -l 2>/dev/null | grep -v "$SCRIPT_PATH" | crontab - if [ $? -eq 0 ]; then log "Cron jobs removed successfully. You can verify by running: crontab -l" else log "Error removing cron jobs. You may need to manually edit your crontab (crontab -e)." exit 1 fi } # Function to display the help message. display_help() { echo "Usage: $SCRIPT_NAME [OPTION]" echo "" echo "This script automates setting up and managing a shared folder between Ubuntu Touch and Waydroid." echo "" echo "Options:" echo " --install Performs initial setup: creates directories, mounts the folder," echo " sets initial permissions, and adds cron jobs for persistence and" echo " continuous permission handling. Run this command once to set up." echo "" echo " --mount Performs only the bind mount operation and sets initial permissions." echo " This option is primarily used by the '@reboot' cron job for persistence." echo "" echo " --chown Recursively sets permissions for the shared folder and its contents" echo " to 'phablet:phablet'. This option is used by the periodic cron job" echo " to automatically correct permissions changed by Waydroid." echo "" echo " --uninstall Removes the cron jobs added by this script and unmounts the shared folder." echo " This cleans up the setup." echo "" echo " --help Display this help message." echo "" echo "Important Notes:" echo " - This script assumes you are running it as the 'phablet' user on Ubuntu Touch." echo " - It relies on 'sudo' for mount and chown commands. The 'phablet' user typically has" echo " passwordless sudo access configured by default on Ubuntu Touch." echo " - After running '--install', a reboot is recommended to ensure the @reboot cron job fires." echo " - Do not move or rename this script after installation, as the cron jobs rely on its path." echo " - While '/etc/fstab' is a common Linux method for persistence, it's generally not recommended" echo " for user-level modifications on Ubuntu Touch due to its read-only root filesystem and OTA updates." echo " Using user-specific cron jobs provides a safer and more robust solution here." } # --- Main Logic --- # Check if the script is being run as root. It should be run as the regular user (phablet). if [[ $EUID -eq 0 ]]; then log "Error: This script should NOT be run directly with 'sudo'." log "Please run it as the '$USER_PHABLET' user (e.g., just './$SCRIPT_NAME --install')." log "The script will use 'sudo' internally where necessary." exit 1 fi # Check for essential commands required by the script. if ! command -v crontab &> /dev/null; then log "Error: 'crontab' command not found. Please ensure cron is installed and available." exit 1 fi if ! command -v mountpoint &> /dev/null; then log "Error: 'mountpoint' command not found. Please ensure it's installed (usually part of 'util-linux')." exit 1 fi # Process command-line arguments. case "$1" in --install) log "Initiating installation process..." create_directories # Create the required host and Waydroid directories. perform_bind_mount # Perform the initial bind mount. add_cron_jobs # Set up cron jobs for persistence and auto-chown. log "Installation complete. Please reboot your Ubuntu Touch device for all changes to take full effect." log "The shared folder will now be persistent across reboots, and permissions will be automatically corrected." ;; --mount) log "Executing mount operation (likely from @reboot cron job)..." create_directories # Ensure directories exist (in case they were deleted). perform_bind_mount # Perform the bind mount. ;; --chown) log "Executing chown operation (likely from periodic cron job)..." # Only attempt chown if the target directory exists and is mounted. if [ -d "$SHARED_DIR_WAYDROID" ] && mountpoint -q "$SHARED_DIR_WAYDROID"; then set_folder_permissions # Correct the permissions recursively. else log "Shared Waydroid directory '$SHARED_DIR_WAYDROID' not found or not mounted. Skipping chown for now." log "This might happen if Waydroid is not running or if the mount failed." fi ;; --uninstall) log "Initiating uninstallation process..." remove_cron_jobs # Remove the cron jobs. unmount_folder # Unmount the shared folder. log "Uninstallation complete. You may manually remove the '$SHARED_DIR_HOST' directory if no longer needed." ;; --help) display_help # Show the help message. ;; *) log "Invalid option: '$1'" display_help exit 1 ;; esac log "Script execution finished."
  • Ubports Recovery unintended system.img flashing

    30
    0 Votes
    30 Posts
    6k Views
    advocatuxA
    @karstong congratulations!!
  • How to connect the phone with adb: wireless or bluetooth

    wifi bluetooth adb
    8
    0 Votes
    8 Posts
    2k Views
    advocatuxA
    @pierref you're welcome. I'm glad you found a solution!
  • UBports installer on Nexus 5x

    3
    0 Votes
    3 Posts
    851 Views
    advocatuxA
    @etoregui you can go to UB Welcome & Install group in Telegram to get help in real time (https://t.me/WelcomePlus).
  • UBports installer on OnePlus One

    2
    0 Votes
    2 Posts
    615 Views
    S
    I figured it out, i needed to put the Android studio files in the system path. In the terminal I had to add a path to the adb file so I ran the command export PATH=$PATH:/Users/~/Library/Android/sdk/platform-tools . The ~ is whatever your username is. Then I launched the installer and like magic it worked.
  • BQ M10 FHD doesn't rotate

    4
    0 Votes
    4 Posts
    759 Views
    LakotaubpL
    @riccardo-vidotto OK Have alook through the bug reports on git-hub, also join the telegram supergroup and ask on there. Sorry but other than doing a completely new install of ubports I have no more suggestions at present. Good luck it will get sorted somehow.!
  • Update Meizu Pro 5 Baseband

    25
    2 Votes
    25 Posts
    11k Views
    T
    Hi All, It has been a while with no update here on my side, i do not consider the Pro5 usable anymore, especially professionally, and currently testing a Fairphone 2 and a Nexus 5 for which the signal is definitively better. In parallel, when time allows, i have slowly started looking into re-building Halium on Android 7.1 for Meizu Pro5... do not hesitate to ping if you are working on something similar Peace, Tera
  • [solved] OpenVPN VPNSecure connected but no network

    15
    0 Votes
    15 Posts
    5k Views
    B
    Not sure if I should post this here or start a new post as this is VPN-related but maybe a different problem. I’ve also been having difficulties getting VPN working correctly. However, the problem was different to what I’ve seen mentioned in this and other posts about VPN problems. My VPN provider is VyprVPN. First I tried setting things up using the standard VPN GUI, and it seemed to be working. After setting up the details in the GUI, and then flipping the switch, the switch turned green. However, opening a browser and navigating to a site that displays my IP address showed the IP address of my ISP and not my VPN proxy server, so clearly the VPN tunnel was not being used. I installed the enhanced GUI app of Pete Woods and tried using that, but the result was the same. So I resorted to the command line. I hadn’t used openvpn before, so before trying it on the phone I tried it on my Ubuntu 16.04 computer. Using the .ovpn file downloaded from the VyprVPN website, I was able to get the VPN connection working fine with sudo openvpn Config.ovpn on the computer, so I tried the same on my phone. Unfortunately, I got the same result as with the GUI. The connection appears to be established without any errors or warnings in the log, which finishes with ‘Initialization Sequence Completed‘, but checking my IP in a web browser gives the same result as above. Also, closing the connection in the terminal with CTRL+C reported a few errors when trying to delete routes, saying RTNETLINK answers: No such process, ERROR: Linux route delete command failed: external program exited with error status 2. After a lot of searching, I inserted the line ‘route-delay 5’ at the end of my config.ovpn file and this solved the problem. The forum where I found the suggestion didn’t give much explanation, so I am not sure what the exact problem was or why this solves it. I’m certainly no expert in openvpn. Sorry for the long post, but hopefully this may help anyone else having a similar problem or maybe the Ubports developers working on the VPN gui app. I can post log files if anyone wants.
  • LXD Server

    3
    0 Votes
    3 Posts
    766 Views
    M
    that guest that initially made this topic was me. it was a new account and i was able to get back into my older account which is what i'm using now. ok, i'll check those links to see what i can do. thanks!
  • Nexus 5 not recognised on Window 7 Home Edition

    7
    0 Votes
    7 Posts
    767 Views
    A
    Ok. I have the installer talking to the phone. I have created a folder "c:\platform-tools" which contains adb and fastboot etc from google. I have copied the installer into the same directory and added the directory to PATH enviroment variable. Now when I run the installer it works as expected until I run up against a bug. The install now fails with an "Adb push error". I found the install log and the reason the push fails is because of a forward slash in the file name. I found the bug report and commit expected to fix it. I guess I'll have to wait until the next release of the installer.
  • [SLOVED]oneplus one battery level 50%

    3
    1
    0 Votes
    3 Posts
    1k Views
    M
    Thanks for the quick answer @advocatux. My battery is not running out too fast, the problem lies in the fact that UT does not show current battery level, and I do not know if the phone is charging when connected to a laptop. The cable is rather fine, because when I turn off the phone and connect to the charging cable the phone shows that it is charging, but when it is turned on it does not show. In the link you provided to me, I did not find any solution :(, unless you suggest that I install the Devel version of the UT. I just forgot to add that I have 15.04 stable UT, I did not manage to notice whether this problem occurred from the moment of installing UT, or after some of my interference in the UT. My only intervention in the system was after useing the tutorial contained in this link https://forums.ubports.com/topic/1015/howto-opo-fix-mtp-driver-permissions, which on the occasion helped me to solve my problem ( Thanks to @Flohack). p.s. sorry for my bad english xD p.s. 2 I made this screen shoot this morning, and when UT was switch off, phone shows on the screen the battery is charged in 100%, but UT still showing 50% [image: 1521271950720-screenshot20180317_072705972-resized.png] Little update: I also noticed that UT constantly monitors the battery level, because over time it reduces the brightness of the screen. The question is why GUI stopped at 50% and does not want to update itself, since UT itself knows what is the current level of battery. After reboot system is working Ok, i don't know what caused the problem.
  • Rotation on OnePlus One

    6
    0 Votes
    6 Posts
    1k Views
    LakotaubpL
    @arpi Well done, should of thought of that one myself (bit early for my brain function). Enjoy ubports.
  • Nextcloud / Ownloud on Nexus 5

    10
    0 Votes
    10 Posts
    2k Views
    ?
    I'm delighted to be able to report that I've finally got NextCloud working on my Nexus 5, and I really couldn't be happier. Thanks for all the support, especially from the Telegram UBPorts Clouderama group - in particular Wayne(OutThere) and Amolith Seregoin. This really is a very able and supportive community.
  • Samsung galaxy j5 2017

    3
    0 Votes
    3 Posts
    4k Views
    U
    @snappy sure would be nice to have more devices supported though. We have a J5 knocking around here and to be able to move that to UBPorts would be the better option, than staying with its old os.
  • openstore no graphics

    3
    0 Votes
    3 Posts
    840 Views
    T
    Having trouble getting content to appear in the open store app. Just seeing blank page. It works mostly when I am on wifi, but rarely when using mobile data. I have no trouble reaching the open store through the UT web browser.
  • BQ Aquaris M10 HD won't turn on [solved]

    m10 hd bq m10
    18
    0 Votes
    18 Posts
    7k Views
    A
    @bruno said in BQ Aquaris M10 HD won't turn on [solved]: h am android package cause BQ don't provide an ubuntu package for the HD edition anymore. Afterwards i could reflash the device back to UT by using the UBPorts installer! Now i'm glad to have a running device and i stricktly avoid to power it down... Btw: after reflashing to android the battery power was only 1%. This after shutdown only 48h before. So the shutdown was defintly incomplete and the device drained the battery strongly. My question now: is this a BQ problem? Or is it a UT bug? I think your battery was drained just in time when you plugged it in. When that happened to me i could not connect it to my computer. Your reflash was most likely not necessary. Bug is with UT. Never happened to me when i used Android.
  • Cannot choose option via call

    3
    0 Votes
    3 Posts
    848 Views
    K
    Same here. UT 15.04 OTA-3 on a Nexus 5 is now my only working phone. I haven't had this happen to me yet. If nothing else works, possibly just a re-install of the image? I had bugs with my sim card that went away completely after my 2nd install. It's been bothering me, but I honestly have no clue what/if I did anything differently the 2nd time around. I guess repeating tasks with expectation of different results pays off for some of us... The issue hasn't returned since.
  • 0 Votes
    4 Posts
    692 Views
    flohackF
    I would file this as issue in the installer tracker, the forum is probably a too slow place for that: https://github.com/ubports/ubports-installer/issues - and check before if its not a duplicate BR
  • M10 Lightning & battery splash screen when i plug it in my computer

    9
    0 Votes
    9 Posts
    2k Views
    M
    @marathon2422 should be bootloop,
  • LIFESPAN BQ 4.5 BATTERY

    8
    0 Votes
    8 Posts
    2k Views
    G
    @domubpkm said in LIFESPAN BQ 4.5 BATTERY: @manolollr what's you say is very interesting, thanks for your comments. I think so there is no battery draining when phone is in sleep mode. I'm only a user but i think maybe there is a lot of battery draining when CPU or processor meet a defined temperature, a threshold, when it become warm. And when we go to internet, the processor become more quickly warm than if we use a 'basic' app. I notice that. Is there a command on terminal to see the processor temperature ? Have a look at $ ls -l /sys/devices/platform/battery/power_supply/battery/ ... $ cat /sys/devices/platform/battery/power_supply/battery/batt_temp 250 $ cat /sys/devices/platform/battery/power_supply/battery/batt_vol 4220 matthias
  • I need you ! from France !!! Scopes ??

    6
    2
    1 Votes
    6 Posts
    2k Views
    alan_gA
    @hudson said in I need you ! from France !!! Scopes ??: Thank you for your answers @alan_g : I know for a fact that I am not a consumer but I will like to find scopes today and news for example. It would be necessary to find the sources and to be able to install them on the terminal. But is it possible? I don't have knowledge of the details, but the code is open source so you can find it, build it, package it and deploy it. If you can get it working you should also upload it to the open store so that others can benefit too. The folks around here will guide you with each step along that path. I contacted canonical and the former developers of the scope Today but for now no response from them. The team at Canonical was disbanded a year ago and most of the developers now work elsewhere. What I found ideal in this system was precisely the scope system.guide Then that's the one to start with! Now I'm sorry, but I find that the terminal looks without these scopes to an old android. Maybe I have to develop it myself. I will keep you informed of the evolution of my reflection. Good luck!