aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/firejail/main.c')
-rw-r--r--src/firejail/main.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c
index 12ac01de7..c6dda268d 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -2819,6 +2819,11 @@ int main(int argc, char **argv, char **envp) {
2819 // build the sandbox command 2819 // build the sandbox command
2820 if (prog_index == -1 && cfg.shell) { 2820 if (prog_index == -1 && cfg.shell) {
2821 assert(cfg.command_line == NULL); // runs cfg.shell 2821 assert(cfg.command_line == NULL); // runs cfg.shell
2822 if (arg_appimage) {
2823 fprintf(stderr, "Error: no appimage archive specified\n");
2824 exit(1);
2825 }
2826
2822 cfg.window_title = cfg.shell; 2827 cfg.window_title = cfg.shell;
2823 cfg.command_name = cfg.shell; 2828 cfg.command_name = cfg.shell;
2824 } 2829 }
@@ -2844,7 +2849,13 @@ int main(int argc, char **argv, char **envp) {
2844 2849
2845 // load the profile 2850 // load the profile
2846 if (!arg_noprofile && !custom_profile) { 2851 if (!arg_noprofile && !custom_profile) {
2847 custom_profile = profile_find_firejail(cfg.command_name, 1); 2852 if (arg_appimage) {
2853 custom_profile = appimage_find_profile(cfg.command_name);
2854 // disable shell=* for appimages
2855 arg_shell_none = 0;
2856 }
2857 else
2858 custom_profile = profile_find_firejail(cfg.command_name, 1);
2848 } 2859 }
2849 2860
2850 // use default.profile as the default 2861 // use default.profile as the default
@@ -2858,7 +2869,7 @@ int main(int argc, char **argv, char **envp) {
2858 custom_profile = profile_find_firejail(profile_name, 1); 2869 custom_profile = profile_find_firejail(profile_name, 1);
2859 2870
2860 if (!custom_profile) { 2871 if (!custom_profile) {
2861 fprintf(stderr, "Error: no default.profile installed\n"); 2872 fprintf(stderr, "Error: no %s installed\n", profile_name);
2862 exit(1); 2873 exit(1);
2863 } 2874 }
2864 2875