子版面

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

    7 主題
    1 貼文
    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 主題
    645 貼文
    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 主題
    934 貼文
    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."
  • Is it possible to flash from TWRP (with .zip file)?

    8
    0 評價
    8 貼文
    2k 瀏覽
    IngoI
    @minkiu said in Is it possible to flash from TWRP (with .zip file)?: While I managed to get adb working, once it boots into fastboot it just won't detect it I had something similar on opensuse with the AppImage installer (would affect deb as well AFAIK). And the cause there was that I had adb and fastboot in /usr/local/bin. But when run with sudo (explicitly starting the installer with sudo or letting the installer use sudo internally), /usr/local/bin is not in the $PATH. And the command to detect if the phone is in fastboot mode ignores the custom paths you can specify so that doesn't help either. So it might be worth a try to either place/softlink adb and fastboot in /usr/bin or adjust your system-wide sudo config to also include /usr/local/bin (or wherever you have installed adb/fastboot).
  • Can Morph browser save login credentials?

    13
    0 評價
    13 貼文
    1k 瀏覽
    advocatuxA
    @bf you're welcome
  • Where to find Flyme OS 5.1.3.0A for Meizu Pro 5?

    10
    0 評價
    10 貼文
    1k 瀏覽
    M
    @ckonstantinos I found RR-N-v5.8.5-20171212-m86 worked very well. never tried dual boot. much prefer Ubports now ,, it is becoming a much more polished/smoother OS, and more apps as the days go by
  • Does Anbox installation deletes all data and apps on the device?

    3
    0 評價
    3 貼文
    422 瀏覽
    LakotaubpL
    @marc_aurel https://forums.ubports.com/topic/1676/development-testers-for-anbox/125 Just for info this is the main anbox thread.
  • Meizu Pro5 (16.04/devel) Convergence

    已移動
    9
    1 評價
    9 貼文
    2k 瀏覽
    B
    I'm replying to myself here to stay within the confines of this topic - but I've been beating my head against the wall on this one... Basically, my ongoing issue with convergence on the Meizu Pro 5 (on 16.04/devel) is the "fuzzy" resolution using aethercast - and I know that it's purely down to the resolution being set in aethercast/src/ac/basesourcemediamanager.cpp to 720p and not 1080p. I scavenged an old laptop today, installed Ubuntu on it (I'm an Arch Linux user by default) and was trying to cross-compile a UBports xenial version of aethercast to upgrade the output resolution to 1080, as per this patch: https://launchpadlibrarian.net/267505693/p1.diff However, try as I might, I can't past these errors during cross-compiling: Get:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease [247 kB] Err:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32 I've tried importing those keys - goodness me, I have - but to no avail. So, in a big shout out to @mardy (who is maintaining ubports/aethercast), is there any chance that you might be able to add these three lines to the code and recompile in the near future? The patch worked wonderfully on 15.04 and I briefly (before moving to 16.04/devel) had a crystal clear 1920x1080 UT desktop on my external monitor. Or is there an excellent reason that the 1080 isn't included by default? It seems a little odd, as almost all external monitors are at least 1920x1080 now - as I mentioned before, I had to trawl through our department's old IT storeroom to find a ten-year old monitor with a native 720p resolution - which is seemingly the only way to have crystal clear resolution using aethercast in 16.04/devel! I really appreciate that @mardy does so much for the community already - and I know that there's likely so many more important issues to deal with - but it seems a simple change to the code and would make for a wonderful early Christmas present. Or a late Thanksgiving one for any North Americans on the site
  • How to enable the desktop mode for the convergence use case?

    19
    0 評價
    19 貼文
    2k 瀏覽
    M
    It seems, that UBports is a diva It seems, that the installation has been successfull, after I hold my FP2 in the hand and watched "her" installing. [image: 1543074408861-20181124_164233-resized.jpg]
  • System Settings Crashes

    3
    0 評價
    3 貼文
    343 瀏覽
    D
    @advocatux Many thanks for your support.
  • Bug with the Music app

    已移動
    7
    0 評價
    7 貼文
    960 瀏覽
    advocatuxA
    @ellypsis yes, as only a few repos have been moved for now, I suppose the people doing the move are still thinking about the best way to communicate it. On the other hand, in the main page of every repo moved there's a warning. You can see an example of that at https://github.com/ubports/music-app ("Moved to GitLab https://gitlab.com/ubports/app-dev/mu…")
  • Flashlight indicator absent on mako.

    4
    0 評價
    4 貼文
    594 瀏覽
    advocatuxA
    @cunotj no, you aren't missing anything. For device models like yours it's better to use https://open-store.io/app/com.ubuntu.developer.majster-pl.utorch
  • Buy a new phone for a daily use

    已移動
    21
    0 評價
    21 貼文
    5k 瀏覽
    T
    @lakotaubp @Marathon2422 thanks for your help. This morning, I tried several things like selected a provider in the APN settings, and then the phone was able to connect to a network. So now it works well! Very cool! Last think: it cannot receive mms without data on, which is also the case with my BQ E5. It worked with the Firefox OS and previously with Ubuntu Touch at the really beginning. Do you know why? With 50Mo per month, I use to let the data off, but in this case, I don't know if someone send to me a mms, no notification, nothing, nada...
  • New browser excessively zoomed-in

    14
    0 評價
    14 貼文
    2k 瀏覽
    jezekJ
    @totalsonic said in New browser excessively zoomed-in: My own website http://www.totalsonic.net is zoomed in slightly too much with Morph - but it displays correctly sized in Android (in both mobile versions of Chrome and Firefox) and in the old UT Oxide based browser. Can you add your experience to github issue, please? If for some reason you can't, notice me, I will add it myself. Thank you.
  • Messages encoding error on MMS

    已移動
    1
    0 評價
    1 貼文
    256 瀏覽
    尚無回覆
  • Nexus 5 GPS Errors and other issues

    45
    0 評價
    45 貼文
    13k 瀏覽
    myiiM
    Some caveats about this, quoting from the UBOF Telegram group: Marius Gripsgard, [20.11.18 21:47] [In reply to myii] thats the old one that wraps here Marius Gripsgard, [20.11.18 21:48] "here maps" Marius Gripsgard, [20.11.18 21:50] [In reply to myii] that has been removed, since here requre licensing Marius Gripsgard, [20.11.18 21:52] we are hopefully moving away from ubuntu location service and just use geoclue and qtlocation, and use the hybris platform myii, [20.11.18 21:52] Is it OK to use espoo in the meantime? Marius Gripsgard, [20.11.18 21:52] [In reply to myii] yeah should be ok Marius Gripsgard, [20.11.18 21:53] [In reply to myii] that will just use gps though, no agps support Key points: espoo uses HERE Maps, which requires licensing Lacks AGPS
  • BQ E4.5: SIM card not seen on power-on

    4
    0 評價
    4 貼文
    477 瀏覽
    A
    @domubpkm The same for me. It happens from time to time with my 4.5, but always recovered after reboot, so far.
  • Install Ubports to bq Aquaris M10 LTE Full HD (B000178)

    已移動
    3
    0 評價
    3 貼文
    442 瀏覽
    F
    @advocatux said in Install Ubports to bq Aquaris M10 LTE Full HD (B000178): @firefox84 you can install UT on M10 HD (cooler) and M10 FHD (frieza) but not on the LTE (4G) version Thank you really much Advocatux, exactely that was my question. Unfortunately :(, if it would have been possible i would have ordered it tomorrow
  • Wich UI app to use to unzip/untar files ?

    4
    0 評價
    4 貼文
    550 瀏覽
    saveurlinuxS
    That work if I have the zip file on the phone but the zip file is an attachment of Dekko 2, as well if I do open with filemanager it does not save or open the file.
  • How to start a pygame-sdl2 app from Scopes

    4
    0 評價
    4 貼文
    591 瀏覽
    dobeyD
    OK. I'm not sure why a python3 version of pygame isn't available in the Ubuntu repositories, so it looks like you will probably need to build your own version to work with python3, as part of the click packaging. You might want to check out clickable for making it easy to package an app up.
  • How to go back to OTA-3?

    nexus5 ota-5
    34
    0 評價
    34 貼文
    7k 瀏覽
    jezekJ
    So, after I dug out my old netbook from the dust of my stash shelf, which was already equipped with lubuntu 14.04, I successfully installed ubuntu-device-flash utility via apt package manager, and used the utility to downgrade to 15.04. Wish, this can be this easy on bionic (18.04). I will look into the ubuntu-device-flash utility on ubports github and try to make it work.
  • Recover file using debugfs

    1
    0 評價
    1 貼文
    290 瀏覽
    尚無回覆
  • Update confusion

    9
    0 評價
    9 貼文
    1k 瀏覽
    advocatuxA
    @zx81 that issue happens when changing any channel, so just close & open again System Settings when it happens, at least for now