From 98ec9ca0114bf618c89f800d8dcbdde68993de22 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Sun, 26 Aug 2018 13:47:36 +0300 Subject: [PATCH] Check if the snapd socket exists before trying to run it (fixes #56) --- src/linux.rs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/linux.rs b/src/linux.rs index 6f49dbda..6398331d 100644 --- a/src/linux.rs +++ b/src/linux.rs @@ -201,19 +201,21 @@ pub fn run_flatpak(terminal: &mut Terminal) -> Option<(&'static str, bool)> { pub fn run_snap(sudo: &Option, terminal: &mut Terminal) -> Option<(&'static str, bool)> { if let Some(sudo) = sudo { if let Some(snap) = which("snap") { - terminal.print_separator("snap"); + if PathBuf::from("/var/snapd.socket").exists() { + terminal.print_separator("snap"); - let success = || -> Result<(), failure::Error> { - Command::new(&sudo) - .args(&[snap.to_str().unwrap(), "refresh"]) - .spawn()? - .wait()? - .check()?; + let success = || -> Result<(), failure::Error> { + Command::new(&sudo) + .args(&[snap.to_str().unwrap(), "refresh"]) + .spawn()? + .wait()? + .check()?; - Ok(()) - }().is_ok(); + Ok(()) + }().is_ok(); - return Some(("snap", success)); + return Some(("snap", success)); + } } }