• General
  • How do I share/transfer things across profiles on Graphene os?

I have created different profiles but I'm now running into unforseen issues

  1. Contacts. Do I have import my contact list to each profile to be able to use them there? I assumed once I have the contacts on my owner profile it will automatically be available across all profiles
  2. Media. How do I transfer media and make it available from one profile to another?
  3. Apps. Do I have to download fdroid afresh on each profile and then re-download any common apps? Is there no way of transferring apps between profiles?
  4. Keyboards... I don't get why I need to download a new keyboard for each profile. Is there another way?

Thanks.

    McDuck

    1 & 2: a flash drive. there is no way to locally share files between users. this is by design for security.

    3 & 4: go to the multiple user settings page (go to where you switch profiles but click manage users instead or go settings -> system -> multiple users. click the profile you want the app or keyboard on and click "install available apps." from here you can install any app already installed in the owner profile.

      itsjpb 1 & 2: a flash drive. there is no way to locally share files between users. this is by design for security.

      Correct for app data, but OP asks for media files, which can be accessed (like any normal file, including DCIM).

      McDuck

      1. Haven't tried, but maybe DAVx5 can sync contacts between profiles like Syncthing does for regular files. In that case try connect them via https://127.0.0.1
        https://github.com/bitfireAT/davx5-ose

      2. Syncthing
        https://github.com/syncthing/syncthing-android
        Connect them together with tcp://127.0.0.1:22000

      3+4. Like @itsjpb says. The keyboard is just an app, like most things are on Android.

        Forgot to mention that if you go with Syncthing you should disable some nasty settings:
        Enable NAT traversal = no
        Local Discovery = no
        Global Discovery = no
        Enable Relaying = no
        Restart on wakeup = yes

        dgzeij Syncthing
        https://github.com/syncthing/syncthing-android
        Connect them together with tcp://127.0.0.1:22000

        I'm unable to make syncthing work. Can you please walk me through the set up? This is my first time downloading the app and there seems to be a lot going on that I don't understand. Thanks

          McDuck After installed the app on owner, created a new user profile and enabled the app there:

          In owner:
          Open Syncthing.
          If you haven't opened Syncthing before go through the initial setup guide, and enable storage scopes (create a new folder named "Syncthing" or something).
          Click the hamburger/overflow menu top left.
          Click "Settings" bottom left.
          Behavior:
          -> Start service automatically on boot = enable
          Syncthing Options:
          -> Device Name (more important to change on the other user profiles, so they are not all called "Pixel6a").
          -> Enable NAT Traversal = disable
          -> Local Discovery = disable
          -> Global Discovery = disable
          -> Enable Relaying = disable

          Repeat this on the other user profile.

          If you plan on syncing with other machines:
          Settings:
          Run Conditions:
          -> Enable run conditions = enable
          -> Run on Wi-Fi = enable
          -> Run on specificed Wi-Fi networks = pick the correct one while you are connected to it

          Beware that when doing this syncing between user profiles will be paused if not connected to the correct wifi SSID.

          In one of the user profiles:
          Hamburger/overflow menu
          Show device ID
          Click the share button top right.
          If you already have or plan to install a messaging app on the other user profile share the ID string through that, or via SMS (enable it on the other user profile), or write down on paper (yuk).

          Switch to the other user profile.
          Copy that ID string.
          Open Syncthing app.
          Click "Devices" top right.
          Click "+" top right.
          Paste the ID string.
          On the 3rd line with the link symbol replace "dynamic" with "tcp://127.0.0.1:22000"
          Click "v" top right.

          Switch to the other user profile.
          You should now have a notification about this.
          Click "Accept" on that notification.
          On the 3rd line with the link symbol replace "dynamic" with "tcp://127.0.0.1:22000"
          Click "v" top right.
          Give it a few seconds to update, and in the "Devices" list it should now be listed with the name you chose from the settings menu, and green text "Up to Date".

          You can now start syncing new or existing folders from either user profiles:
          For example DCIM:
          After opening Syncthing:
          Click "Folders" top left.
          Click "+" top right.
          3rd line with folder icon, click "directory":
          -> On top it says for me "Pixel 6a > DCIM > Camera"
          -> Click "Pixel 6a" to get to root, in the middle click "DCIM" to choose that folder.
          -> On bottom click "USE THIS FOLDER".
          -> Click "ALLOW" for it to access that folder.
          (For some reason when storage scopes is activated for the app, this "ALLOW" doesn't actually do anything (yet), and you have to later on go back to your apps list, long-click Syncthing, then open Storage Scopes, and add the folder manually.)
          2nd line with key icon replace the random name with something actually descriptive.
          4th line-ish should have your device from the other user profile = enable (to start syncing with it)
          Line with "Watch for changes" = enable
          Click "v" top right.

          Switch to the other user profile.
          A new notification asks you to accept a new sharing.
          Click "Accept"
          3rd line with folder icon:
          -> Either pick DCIM or whatever you chose on the other user profile, or create a new folder under your /Syncthing/ folder
          -> If creating new folder, click the folder with "+" sign top right, then write name, then click "OK", then click "USE THIS FOLDER", then click "ALLOW".
          -> Remember to do the storage scopes here aswell if you chose something new outside your /Syncthing/ folder.
          Watch for changes = enabled
          Click "v" top right"

          Done.

          It might look like a lot of work, but you do it ONCE. Then it just does its job in the background. Other manual solutions other people descibe require you to do something similar, maybe less work, but every day for the rest of your life.

          Disable the messaging app (or SMS) you used to copy the device ID for the new user profile if you don't need it for anything else.

          Connecting to new devices on other machines is much simpler than this long copy method, couse you can then instead of pasting the long ID string use the QR icon at the end of that line, which opens the camera for scanning. You can even access this QR-code for your owner profile from that other machine, and scan it in new user profiles.

          IMPORTANT: Use static IP on other machines since you earlier disabled all discovery. You can have 1 phone with dynamic IP, but everything else need static IP. Or you can do the opposite, with static IP on this phone on this wifi SSID, and everything else dynamic IP. You could perhaps enable local discovery to make this a bit easier, IF you trust that network, but global discovery and relaying (unless you build your own relay server) is such a bad idea they should just simply remove it from the Syncthing app.

          If you want to sync something you have already set up with another/new user profile or machine:
          Open the Syncthing app.
          Click "Folders" top left.
          In the middle click on the folder.
          4th/5th line: enable for the new device.
          Done here on this user profile / device.
          Open the other user profile / device, accept, choose folder and go through storage scopes and all that again.

          If you want to not see the permanent "Syncthing is active" notification:
          In apps list, long press the Syncthing app.
          App info.
          Notifications.
          Syncthing active = disable
          All other options = enable

            Mods:
            Is this a bug? Maybe I'm mistaking what the "ALLOW" button actually does, but I assumed it would create a storage scope for this folder. In either way it would be very handy if it did. Couse it confused me for a while until I double checked everything until I found out I had to do it this way.

            dgzeij -> Click "ALLOW" for it to access that folder.
            (For some reason when storage scopes is activated for the app, this "ALLOW" doesn't actually do anything (yet), and you have to later on go back to your apps list, long-click Syncthing, then open Storage Scopes, and add the folder manually.)

            dgzeij If you already have or plan to install a messaging app on the other user profile share the ID string through that, or via SMS (enable it on the other user profile), or write down on paper (yuk).

            ... or save to USB drive. (I'm using these way too little.)

            10 months later

            I have a question about this: Is the synchronization between the two users done via wifi or locally? I would like to have my music library of 33 GB in both profiles. But my monthly data volume is 50 GB, so Syncthing only makes sense for me if it runs locally. What would be the right setting for this?

              • [deleted]

              Dan-cer just use a regular USB stick with C type adapter or USB C type stick and you're good to go to transfer stuff between profiles. No internet bandwidth required.

                [deleted] Yes, that would be an option. However, I don't want to add the same 33 GB to the hard disk. And I need the USB port for Android Auto. The maximum I could think of would be to add some selected music albums via usb.