-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Packaging request: chrome remote desktop #34084
Comments
Would adding the following to your configuration work?
See chromium module. |
@jtojnar , thanks for the reply. The chromium extension installs fine, but it requires host app installed. I've already tried to package that, but it doesn't work. Failed attempt |
Right. This one be a pickle to package – the package relies on quite a few imperative changes. I can see several issues with that expression:
|
Thanks for helping.
I updated the gist |
For example, I use something like the following for testing NixOS modules: { pkgs, ... }:
{
environment.systemPackages = with pkgs; [
gdb
binutils # readelf
rr
file
htop
less
dbus
dfeet
# Packages I want to test
firefox
];
nixpkgs.config.firefox.enableGnomeExtensions = true;
services.gnome3.chrome-gnome-shell.enable = true;
services.openssh.enable = true;
services.xserver = {
enable = true;
layout = "cz";
xkbVariant = "qwerty";
desktopManager.gnome3 = {
enable = true;
};
};
hardware.opengl.enable = true;
users.extraUsers.u = {
isNormalUser = true;
uid = 1000;
extraGroups = [ "wheel" "networkmanager" ];
password = "";
openssh.authorizedKeys.keys = ["mysshkey"];
};
systemd.coredump.enable = true;
virtualisation.memorySize = 1024;
}
|
|
Well, I believe that there is a problem: |
@balsoft maybe see NixOS option: |
@sifmelcara Thanks. |
Ok, I found a hacky way to write stuff to homedirs. system.activationScripts.crd-setup = {
text = ''
if [[ -z $(cat ${cfg.user.home}/.chrome-remote-desktop-session) ]]; then
# Create the file
echo "export $(dbus-launch)" > ${cfg.user.home}/.chrome-remote-desktop-session
echo "${cfg.session}" >> ${cfg.user.home}/.chrome-remote-desktop-session
fi
if [[ -z $(cat ${cfg.user.home}/.config/chrome-remote-desktop/Size) ]]; then
echo "${cfg.screenSize}" > ${cfg.user.home}/.config/chrome-remote-desktop/Size
fi
'';
}; Is this ok? |
The size seems to be only used as the nixos module so you probably do not need to store it to a file. As for the rest, I do not seem a better way with a program like this one. |
@jtojnar wait, as I see it the |
Yes, but it only seems to be used by the script itself (e.g. |
Oh, ok. I didn't notice that. Thanks |
Created a module. Updated gist |
It doesn't seem to build though.
test.nix: { pkgs, ... }:
{
environment.systemPackages = with pkgs; [
binutils
];
services.xserver = {
enable = true;
desktopManager.xfce = {
enable = true;
};
};
users.extraUsers.u = {
isNormalUser = true;
uid = 1000;
extraGroups = [ "wheel" "networkmanager" ];
password = "";
};
} |
Created a fork. Still doesn't build, but with new errors. |
Ok, |
I think that we should move the conversation to the fork? BTW, I've solved the issues @jtojnar have pointed out. |
@balsoft Anything new to this issue? I'd also like to have chrome-remote-desktop installed :-) |
@klassm Currently, I don't know how to solve the problem of needing SUID file in nix store, which is not allowed. If somebody would help me, that would be great as I don't know Nix ecosystem to this extent. |
@balsoft In a NixOS module, you can use |
Thanks @jtojnar . Can you please elaborate on that? Using |
Sorry, did not finish the comment. The module cannot update Nix store since it is immutable and it probably would not be very safe. Instead the SUID file is placed to |
@jtojnar Thanks a lot! I'll try to do that. |
Hello, I'm a bot and I thank you in the name of the community for opening this issue. To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it. If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use Git blame or GitHub's web interface on the relevant files to find them. Lastly, you can always ask for help at our Discourse Forum or at #nixos' IRC channel. |
I found myself in want of this package today. I may take a stab at trying to get this to work, we'll see. |
@maxdeviant, @balsoft any news on the issue? |
@cgallay I never did get around to working on this, sorry 😕 |
I got it working, but it is very bespoke (involves running Another pain point is that the hash of the latest .deb changes from time to time and requires updates. |
Here's the gist https://gist.github.com/mlen/b82b8f53d4084686d0f004664a095edb. I'm using a custom package overlay, where I pull the |
I marked this as stale due to inactivity. → More info |
@mlen I'm almost done. From your gist, on
|
@sepiabrown Maybe the NixOS module also needs |
@jtojnar Wow it somehow made an effect. The error message changed to
So I had added the code below in my NixOS module(
But the error message doesn't change. It feels like I'm just a step away! P.S. How did you diagnosed my error such that it may be related to |
I got it from “Unit file [email protected] does not exist”. Unit file is systemd terminology for services and other similar objects. The
I guess that means the program is trying to run I assume the program or systemd will not try to enable (and thus try to create the symlink) for already enabled service. But if it does, we would need to patch the program. |
I've finally succeeded in making chrome-remote-desktop work. Help from @jtojnar was crucial. I really appreciate your help! i cannot thank you enough :) I have a few question though.
So when I remotely access my laptop through iPad, what I see and control in iPad is identical to labtop and vice-versa. Without the above 6 lines, if I remotely access my laptop through iPad, I can't see any applications already opened in laptop. Controlling the new session through iPad has no effect on laptop. Obviously, the original version of the program should be respected. So when going through
|
You would have
I still see many issues with the code but those are best hashed out in PR review.
I would use |
Thank you for your detailed answer! I have two additional questions.
|
Lines 602 to 604 in acbc33e
Since |
@jtojnar Hi! I have few more questions!
Thank you for your kind help in advance! |
Applications are typically responsible for creating their user configuration directories. Nix builds are run in sandbox so they cannot really write to user’s directory. It would be completely against the goals of Nix since it would no longer be reproducible.
You would typically start by trying to enable the application’s debugging facilities. I would not really recommend mixing libraries from different versions of Nixpkgs. While it may work in most cases, there can be subtle rough edges (e.g. caused by desktop platform libraries using dynamically loaded modules with different ABI), which are not worth the hassle when you can trivially avoid them by using the same versions of libraries as on your system. |
Fixed by disabling program from checking
It was due to recent change in |
@sepiabrown it seems like you were driving most of this work a year and a half ago. Curious, have you been using I've gotten I might be in over my head, but I thought I'd ask how I might help. |
I was using it 6 months ago at my graduate school lab machine. But after graduation, I had no time to package
The remaining problem is that |
Any updates on this :) |
I opened a new PR to try to package The issue of hash changing was solved by using the stable URL for each version I got from AUR. I am not sure where the AUR maintainer are getting those URLs and I think this may be out-of-date, but it is better than having a hash that is always changing and we can at least track the versions. However, I can't get it to work. The main issue right now is that I can't generate the host configuration file (in |
Issue description
There is no google remote desktop host package in nixpkgs. It seems like it would be possible to add it: AUR. I could try although I have very little experience with writing nix package expressions.
The text was updated successfully, but these errors were encountered: